nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: unicode (?), regexp, SQL... le bordel

Von: Olivier Masson (sisemen@laposte.net) [Profil]
Datum: 26.10.2009 17:08
Message-ID: <4ae5c46b$0$31088$426a74cc@news.free.fr>
Newsgroup: fr.comp.lang.php
Olivier Miakinen a écrit :

> Bon sang mais c'est bien sûr ! Et pour le coup c'est Amen qui a raison,

Ah merde !


> Du coup, puisque tes chaînes sont en UTF-8 je te suggère d'utiliser
des
> assertions, avec la propriété Unicode \P{L} ou \PL qui signifie
« n'est
> pas une lettre » (quelle que soit la langue) :
>
>   preg_replace("/(?<=\PL)" . preg_quote($exp) .
"(?=\PL)/Uiu",
>                '%$0%', $texte, $max);
>
> Voire, pour gérer le cas du début ou de la fin de texte :
>
>   preg_replace("/(?<=^|\PL)" . preg_quote($exp) .
"(?=\PL|$)/Uiu",
>                '%$0%', $texte, $max);
>
> http://fr.php.net/manual/fr/regexp.reference.assertions.php
> http://fr.php.net/manual/fr/regexp.reference.circudollar.php
> http://fr.php.net/manual/fr/regexp.reference.unicode.php
>

Ouah ! Bon, je n'ai pas encore testé mais chapeau !
Je n'avais jamais vu \P.
Tu devrais faire un conf sur unicode à Paris Web ? :)

Je craignais qu'une limite de mot et ce qui est ou n'est pas un mot
pouvait être gênant car je n'ai jamais trouvé (cherché ?) de
définitions
exactes de ces classes.

Bon, je ne te remercie pas parce que c'est un peu moi qui t'ai donné la
solution, que j'ai eu l'extrême gentillesse de partager avec le peuple !
Mais bon, merci qd même beaucoup ;)

[ Auf dieses Posting antworten ]

Antworten