Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Pogrubianie wybranych słów z frazy
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam taki przypadek:
Są dwa stringi
  1. $string1 = 'Ala ma domek w którym ma kota i psa';
  2. $string2 = 'ala domek kot';


String drugi rozbijam i tworzę tablicę trzyelementową:
  1. $s=explode(' ',$string2);


I teraz chce by wszytskie elementy które są w string1 i jednocześnie w tablicy zostały pogrubione bbcodem, czyli bym uzyskał rezultacie

  1. $string1po = '[b2]Ala[/b2] ma [b2]domek[/b2] w którym ma kota i psa';


To jednak nie jest główna trudność. Czasem może być tak, że w string1 będą już jakieś bbcode, np.

  1. $string1 = 'Ala ma [url2=http://www.php.pl]domek w którym[/url2] ma kota i psa';


Wtedy nie może wykryć koniec/początek danego słowa spacją gdyż jest nawias kwadratowy (czyli powinno odrózniac wyrazy, które są wydzielone spcją lub nawiasem kadratowym). W tym przypadku wynik powinien być taki:
  1. $string1po = '[b2]Ala[/b2] ma [url2="http://www.php.pl"][b2]domek[/b2] w którym[/url2] ma kota i psa';


Ma ktoś pomysł jak to zgrabnie rozwiązać?

ps. dodałem 2 do każdego bbcode'a bo skrypt forum to parsował na znaki htmla
kontur
  1. for($i=0;$i<count($s);$i++)
  2. {
  3. $string1po=str_replace($s[$i], '[b2]'.$s[$i].'[/b2]', $string1);
  4. }


Powinno dzialac.
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.