Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana synonimów jak wykluczyć zamianę tagów html
Forum PHP.pl > Forum > Przedszkole
amii
Mam funkcję zamieniającą synonimy która ogólnie działa. Problem jest taki, że zamienia też treść w tagach html a tego nie powinna robić.

  1.  
  2. $domniemany = 'W Łodzi jest fajna pogoda ale bardzo zimno <img src="zimny.jpg>"';
  3.  
  4. $indeks = mt_rand(0, count($tabliczka)-1); //losujemy indeks dla synonimu
  5.  
  6. for($g=0; $g<count($tabliczka); $g++) { //petla po tablicy synonimów
  7. while($indeks==$g) $indeks = mt_rand(0, count($tabliczka)-1); //losujemy indeks dla synonimu ale nie może być ten sam bo byśmy zamieniali 'wyraz' na 'wyraz'
  8.  
  9. if(strpos($text, $tabliczka[$g])) { //jeśli natrafimy na synonim w tekście z $podmieniony to robimy zamianę jak tu wykluczyć żeby nie zamieniał treści wewnątrz tagów html
  10. $podmieniony = str_replace($tabliczka[$g], $tabliczka[$indeks], $podmieniony);
  11. unset($tabliczka[$g]);
  12. }
  13. else {}


Co dostaje:
W Bydgoszczy jest super pogoda ale bardzo chłodno <img src="chlodny.jpg">
blade-mrn
Trzeba by dodać jeszcze sprawdzanie czy dane wyrazy nie znajdują się pomiędzy <>. Jeśli funkcja natrafi na znak < to ignoruje wszystko aż do znaku zamykającego >.
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.