Mam stronę główną index.php. Mam na przykład dwa artykuły: article1.php i article2.php.

Na mojej stronie głównej chcę pokazać podgląd moich dwóch artykułów. Ale ponieważ te artykuły są zbyt długie, chcę pokazać tylko 5 linijek artykułu (lub 100 znaków lub inne rozwiązanie). Po tych pierwszych wierszach artykułu kończy się on na „...”, a te wiersze są połączone z właściwą stroną artykułu; artykuł1.php lub artykuł2.php

Powinna to być naprawdę prosta rzecz, jak sądzę, pokazująca część tekstu, który importuję z kodem "include". Przy okazji nie dołączam pliku tekstowego. Jest to article1.php, więc kod musi ignorować wszystko inne, takie jak nagłówki, zdjęcia, a skupiać się tylko na pierwszych wierszach tekstu.

Jakakolwiek rada?

2
hakan dayi 22 czerwiec 2011, 06:41
1
Jak dokładnie przechowywane są te artykuły? Czy article1.php to zwykła strona internetowa z artykułami w postaci zwykłego tekstu?
 – 
deceze♦
22 czerwiec 2011, 06:43
Pytanie brzmi: „Kod musi ignorować wszystko inne, takie jak nagłówki, zdjęcia, a musi skupiać się tylko na pierwszych wierszach tekstu”, więc myślę, że tak.
 – 
Sophie Alpert
22 czerwiec 2011, 06:45
Czy możesz zamieścić przykłady plików artykułów? Pomożemy Ci określić najlepszy sposób przeanalizowania wymaganej treści, biorąc pod uwagę, że lepiej zrozumieliśmy strukturę.
 – 
Dan Lugg
22 czerwiec 2011, 06:48
Czy możesz dołączyć próbkę pliku article1.php, abyśmy mogli zobaczyć, co zawiera? Czy article1.php i article2.php są identyczne z punktu widzenia struktury?
 – 
Francois Deschenes
22 czerwiec 2011, 06:48

2 odpowiedzi

Najlepsza odpowiedź

Jeśli twój plik article1.php zawiera całą stronę, w tym nagłówek HTML i (najwyraźniej) trochę kodu PHP, to naprawdę nie jest idealny punkt wyjścia. Powinieneś przechowywać swoje artykuły (tylko surowy tekst artykułu) w osobnych plikach. Dzięki temu można łatwo ponownie wykorzystać różne jego części w różnych miejscach:

artykuł1.txt

<p>Lorem ipsum.</p>
<p>Foobar baz.</p>

artykuł1.php

<html>
<head>
    ...
</head>
<body>
   ...
   <?php include 'article1.txt'; ?>
   ...
</body>

index.php

<html>
<head>
    ...
</head>
<body>
   ...
   <?php
       $article1 = file_get_contents('article1.txt');
       echo substr(strip_tags($article1), 0, 100) . '...';
  ?>
  <a href="article1.php">Read more</a>
   ...
</body>

W ten sposób możesz nawet zautomatyzować generowanie linków w swoim index.php poprzez automatyczne przeszukiwanie wszystkich plików .txt w katalogu artykułów i wyświetlanie tych linków. Przechowywanie artykułów w bazie danych uczyniłoby to jeszcze bardziej elastycznym. Kontynuując tę ​​​​kierunek, w zasadzie odkrywasz CMS na nowo, więc możesz rozważyć użycie Wordpressa lub innego podobnego systemu.

5
deceze 22 czerwiec 2011, 07:09
<?php

    $article1 = file_get_contents("article1.php");

    echo substr(strip_tags($article1), 0, 100) . "...";

?>
2
Steve Robbins 22 czerwiec 2011, 06:56
Według OP article1.php jest normalnym plikiem HTML z sekcją , więc ta metoda nie zadziała
 – 
TheLQ
22 czerwiec 2011, 07:07
To prawda, w zależności od nagłówków. Z miałem przykładową stronę do pracy.
 – 
Steve Robbins
22 czerwiec 2011, 07:11
TheLQ ma rację, układ mojej strony nie jest taki prosty, z dużą ilością materiałów wizualnych, nagłówkiem + css itp. Wydaje mi się, że rozwiązanie deceze załatwia sprawę.
 – 
hakan dayi
24 czerwiec 2011, 16:46