2013-08-30 178 views
1

的Preg匹配不與下面的代碼 字符E產生任何比賽一開始不預浸比賽運作良好預浸比賽不工作的Unicode字母

$name = array('éjaculation','précoce','fadfadf'); 

$names =array("{éjaculations précoce un {trouble|problème|souci|désordre} sexuel {assez|relativement|plutôt|très} {fréquent|commun|courant} qui {consiste en|est|se résume en} {l'incapacité|l'impossibilité} de {l'homme|l'individu|la personne} à {retenir|maîtriser|contrôler|retarder} {son éjaculation|son orgasme|son plaisir} {pour|durant} une {période|durée} {assez|suffisamment} {longue|prolongée} {afin de|de manière à|pour|de sorte à} {satisfaire|apporter le plus de satisfaction à|combler|faire plaisir à} sa {partenaire|femme|conjointe rand}|}",'teste'); 

preg_match("/\b".trim($name[1])."\b/ui",$names[0],$match); 


print_r($match); 
+2

字邊界'\ b'不適用於unicode字符。 – Toto

+3

雖然'é'可能是西班牙文字母,您的文本是法文的。 – Toto

回答

3

你可以嘗試這樣的:

preg_match("/(?<!\pL)".trim($name[0])."(?!\p{L})/ui", $names[0], $match); 
+0

謝謝他的工作 – user1511287