Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dodawanie "czegoś" na końcu linijki
Forum PHP.pl > Forum > Przedszkole
DamikoV
Witam!
Chciałbym zrobić skrypt, który będzie dodawał na końcu każdej linijki jakiś ciąg znaków (kropkę lub znacznik html). Myślałem nad if/else miałoby to polegać na tym:
if($koniec_linijki)
{
jesli na końcu nie ma kropki dopisz ją
}
else
{
jeśli na końcu jest kropka pomiń linijkę
}

Nie wiem tylko co wstawić do wnętrza instrukcji. Jeżeli to nie przejdzie mógłby mi ktoś powiedzieć o czym powinienem poczytać, żeby takie dzieło zrobić? Czy potrzebna będzie do tego znajomość MySQL?
Pozdrawiam.
kilab
  1. if($string[strlen($string)-1] != '.'){
  2. $string .= '.';
  3. }
DamikoV
Czyli mam rozumieć że jak wkleję przykładowy tekst

Lorem Ipsum is simply dummy text of the printing
and typesetting industry. Lorem Ipsum has been
the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type

to na końcu tej linijki będę miał już kropkę tak?
kilas88
  1. $content = "Lorem Ipsum is simply dummy text of the printing
  2. and typesetting industry. Lorem Ipsum has been
  3. the industry's standard dummy text ever since the 1500s,
  4. when an unknown printer took a galley of type";
  5.  
  6. $content = explode("\n", $content);
  7.  
  8. foreach ($content as $line => &$text) {
  9. if (mb_substr(rtrim($text), -1) !== '.') {
  10. $text = rtrim($text) . '.';
  11. }
  12. }
  13.  
  14. $content = implode("\n", $content);


Tak to można rozwiązać, choć to raczej brzydkie rozwiązanie (nie wspominając o samym pomyśle, który jest co najmniej dziwny i moim zdaniem zbędny - gdziekolwiek by nie został wykorzystany).
DamikoV
Na tyle brzydkie rozwiązanie, że aż nie działa... wy sprawdzacie w ogóle swoje kody? U jednego nic sie nie dzieje a u drugiego biała strona...
Dziwny pomysł mówisz... a jak dodasz do 150 linijek zakończenie listowania (</li>) ? Każdą osobno? Dziękuje..
kilab
Cytat(DamikoV @ 16.08.2010, 03:09:54 ) *
Na tyle brzydkie rozwiązanie, że aż nie działa... wy sprawdzacie w ogóle swoje kody? U jednego nic sie nie dzieje a u drugiego biała strona...

W ogóle użyłeś któregokolwiek kodu na odpwoiedniej zmiennej biggrin.gif ?
kilas88
działa działa, trzeba tylko umieć zastosować smile.gif
pozdrawiam
DamikoV
No tak.. ciężko sie kapnąć że trzeba dodać echo ze zmienną haha.gif.. Przepraszam mój błąd, ale po przeanalizowaniu waszych kodów muszę stwierdzić że nie o to chodziło :/. Przykład:

Lorem ipsum1[kropka]
Lorem ipsum2[kropka]
Lorem ipsum3[kropka]

Jak już wspomniałem chce to wykorzystać do tworzenia list z użyciem znaczników HTML. Naprawdę ciężko jest dodawać na końcu za każdym razem </li> jeśli ma się ich ponad 100.
kilas88
Nie rozumiem jak to ma działać, wytłumacz.

  1. $text = "Lorem Ipsum is simply dummy text of the printing
  2. and typesetting industry. Lorem Ipsum has been
  3. the industry's standard dummy text ever since the 1500s,
  4. when an unknown printer took a galley of type";
  5.  
  6. $text = explode("\n", $text);
  7.  
  8. foreach ($text as $line => &$content) {
  9. if (mb_substr(rtrim($content), -1) !== '</li>') {
  10. $content = rtrim($content) . '<li>';
  11. }
  12. }
  13.  
  14. $text = implode("\n", $text);


Wklej przykładowy tekst i tekst, jaki ma z tego wyjść.
everth
  1. $nowytext = str_replace("\n","[tu se dodaj co chcesz]\n",$text);
DamikoV
kilas88 masz tekst:

Lorem Ipsum is simply dummy text of the printing
and typesetting industry. Lorem Ipsum has been
the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type

po printing, been, 1500s, type ma sie samo pokazywać </li>. Zwróć uwagę że to ma się pokazywać a nie dać efekt <li>.
Podsumowując:
1. wklepujesz tekst
2. na końcu linii pokazuje się zamykający znacznik <li>
3. kopiujesz go np. do pisania artykułów w php-fusion.
4. on dopiero daje efekt działania znacznika <li>.

Mam nadzieję, że trochę to rozjaśniłem... przepraszam za kłopot.

everth, do twojego kodu robię zmienną o nazwie $text, wklejam do niej swój tekst, w miejsce "tu se wpisz co chcesz" daję kropkę lub </li>, potem za pomocą echo wywołuję zmienną $nowytext i co?

"Parse error: syntax error, unexpected T_VARIABLE in E:\xampp\htdocs\indejx.php on line 3"

A w 3 linii jest:

  1. $nowytext = str_replace("\n","[.]\n",$text);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.