2014-07-09 88 views
-2

我刚刚创建了一个网站,我想创建一个“搜索”模块,数据库已创建,并且我已连接,系统似乎正常工作,但此消息覆盖了我的网页:PHP错误信息:preg_match

PHP错误消息:

Warning: preg_match() [function.preg-match]: Compilation failed: unknown property name Effective \ P or \ p at 

offset 7 in/home/a3637125/public_html/Moteur-de-recherche/class.inc/moteur-php5.class-inc.php on line 706 

相关的代码:

if(preg_match('#[\p{Xan}][^a-zA-Z]#iu', $mot)) { 
    $mot = str_ireplace($withaccent, $withnoaccent, htmlspecialchars(trim($mot))); 
} 
+0

那么你的正则表达式是坏的,但我不知道你想用它来实现 – Steve

回答

2

你PCRE版本太旧,不知道的Unicode字符类\p{Xan}。这不是一个真正的问题,因为你可以写:

#[\pL\pN][^a-z]#i 

这完全一样。

Nota Bene:如果你解释你的模式应该做什么,这将是有趣的。如果你试图用ascii代替所有重点字符,我建议看看this question

+0

谢谢你的回复,我很快就解决了这个问题,的确,这是正确的,只需要替换这样的表达式:'if(preg_match('#[a-zàáâãäçêéêëìíîïñòóôõùùúûü] [^ a-zA-Z] #iu',$ mot))' – hexphp111