是否有正则表达式来匹配带有和不带有特殊字符的特定字符串?可以这么说,特殊字符不敏感。
Likecéra
将匹配cera
,反之亦然。
有任何想法吗?
编辑:我想匹配带有和不带有特殊/重音字符的特定字符串。不仅仅是任何字符串/字符。
测试示例:
$clientName = 'céra';
$this->search = 'cera';
$compareClientName = strtolower(iconv('utf-8', 'ascii//TRANSLIT', $clientName));
$this->search = strtolower($this->search);
if (strpos($compareClientName, $this->search) !== false)
{
$clientName = preg_replace('/(.*?)('.$this->search.')(.*?)/iu', '$1<span class="highlight">$2</span>$3', $clientName);
}
输出:<span class="highlight">céra</span>
如您所见,我想突出显示特定的搜索字符串。但是,我仍然想显示匹配字符串的原始(重音)字符。
我想我必须以某种方式将其与Michael Sivolobov 的答案结合起来。
我想我必须使用单独的preg_match()
and preg_replace()
,对吗?