我正在编写一个快速的PHP页面,我需要忽略带有重音字符的任何字符串。我在每个单词上使用这个preg_match()字符串:
“[ÀÁÅÃÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ]”
(我知道这是一种蛮力方法,但显然[a-zA-Z]可以匹配重音字符)
但是当它用带有重音字符的字符串搜索时,函数似乎永远不会返回true(例如:“cheapâ€?”,“gustarÃa”......)
我之前没有使用Regex,所以请指出我在这里犯的任何愚蠢的错误!
答案 0 :(得分:3)
PHP正则表达式需要delimiters,如下所示:
preg_match('/[ÀÁÅÃÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ]/', "gustarÃa");
请注意,最好使用单引号用于正则表达式,因为美元符号可能被php误认为变量。