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
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
- Olivier Miakinen (26.10.2009 17:26)
- Olivier Masson (27.10.2009 11:50)
- Olivier Miakinen (27.10.2009 12:34)
