PDA

Bekijk Volledige Versie : [php] str_ireplace



=?ISO-8859-1?Q?Peter_Fastr=E9?=
28/01/04, 10:55
Hallo

Ik heb een probleem bij de ontwikkeling van mijn site.
(http://pfastre.no-ip.com/shop).
Als je klikt op zoeken en vult in Abit, dan zoekt hij goed, en zijn de
zoektermen in het rood. Als je invult abit, dan zoekt hij ook wel goed,
maar zijn de zoektermen niet rood.
Dat komt omdat ik str_replace gebruik om in de resultaten van de
sqlquery de tekst te vervangen door dezelfde tekst in het rood, en die
is case-sensitive. Ik zou graag str_ireplace gebruiken, maar die is nog
niet beschikbaar.
Is er een alternatief voor die str_ireplace?

Groetjes

Peter

Ronald Klip
28/01/04, 11:15
=?ISO-8859-1?Q?Peter_Fastr=E9?= schreef:
>
> Dat komt omdat ik str_replace gebruik om in de resultaten van de
> sqlquery de tekst te vervangen door dezelfde tekst in het rood, en die
> is case-sensitive. Ik zou graag str_ireplace gebruiken, maar die is nog
> niet beschikbaar.
> Is er een alternatief voor die str_ireplace?

PHP biedt twee sets van functies die reguliere expressies gebruiken voor
pattern matching: de families ereg en preg. De laatste is naar men zegt
meestal het snelst.

$nieuw = preg_replace("/(tekst)/i", "<rood>$1</rood>", $oud);

--
groet, Ronald

=?ISO-8859-1?Q?Peter_Fastr=E9?=
28/01/04, 12:25
Ronald Klip wrote:
> =?ISO-8859-1?Q?Peter_Fastr=E9?= schreef:
>
>>Dat komt omdat ik str_replace gebruik om in de resultaten van de
>>sqlquery de tekst te vervangen door dezelfde tekst in het rood, en die
>>is case-sensitive. Ik zou graag str_ireplace gebruiken, maar die is nog
>>niet beschikbaar.
>>Is er een alternatief voor die str_ireplace?
>
>
> PHP biedt twee sets van functies die reguliere expressies gebruiken voor
> pattern matching: de families ereg en preg. De laatste is naar men zegt
> meestal het snelst.
>
> $nieuw = preg_replace("/(tekst)/i", "<rood>$1</rood>", $oud);
>
Geweldig het werkt. Bedankt!
Als er vroeger over regexp's begonnen werd in school keek ik altijd de
andere richting uit, want ik ging dat toch nooit nodig hebben ;)

Groetjes

Peter