Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podkreślanie słów
Forum PHP.pl > Forum > Przedszkole
Riper
Witam wszystkich,

chciałem przygotować skrypt, który w tekście zapisanym w zmiennej wyszuka mi wszystkie słowa zapisane w tablicy i odpowiedno je zmodyfikuje.

Dokładnie chodzi o to, żeby mechznim wyszukał w tekście słowa (których będzie kilka) i osadził je między <U></U>.

Chce w taki sposób w dużej liczbie tesktów w sposób zatomatyzopwany (bowiem słowa do podkreślenia sam definiuje) wyznaczyć konkretne słowa.

Czy mógłby mnie ktoś nieco naprowadzić bo jakoś nie moge wykombnować ?
Guest
Nawet poprawnie parametrów funkcji nie potrafisz podać... po co preg?

  1. <?php
  2. $szukane = array('slowo0', 'slowo1', 'slowo2', 'slowo3');
  3. $tekst = 'Tekst do zamiany slowo0 na slowo1 oraz odwrotnie haha.gif';
  4. foreach($szukane as $word)
  5. {
  6.  $tekst = str_replace($word, '<u>'.$word.'</u>', $tekst);
  7. }
  8. ?>
legorek
Faktycznie pisałem na szybka dlatego nie działało, Twoja propozycja jest OK, proste rozwiazania sa najlepsze.
Riper
Wielkie dziękie smile.gif

Dał bym Ci "pomógł mi" ale nie ma tu takiej opcji winksmiley.jpg


------------EDIT--------------

Sprawdziłem mechanizm działa smile.gif

Tylko, że czasem nieco nadgorliwie :/

A dokładnie chodzi o to, że jeśli jednym ze słów do podkreślenia będzie "gra" to jesli mechanizm napotka słowo "zagrał" to w środku tego słowa wrzuci podkreślenie.... obawiam się, że jednak trzeba bedzie nieco bardziej sprecyzowac preg_replace().

Drugą nieścisłością jest traktowanie odmiennie słów, które zawierają litery innej wielkości, dla przykładu gdy w tablicy znajdzie się słowo "google" a w tekście "Google" to skrypcik już go nie podkreśli.

Jeśli ktoś byłby w stanie powiedzieć jak powstrzymać skrypt przez wyszukiwaniem "słów wewnątrz słów" oraz zjednoliceniem mu słów o literach różnych wielkości byłbym bardzo wdzięczny smile.gif

Z góry dziękuje.
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.