有没有一个正则表达式可以匹配包含和不包含特殊字符的特定字符串?特殊字符不敏感,也就是说。
例如,
有什么想法吗?
编辑:我想匹配具有特殊/重音字符和没有这些字符的特定字符串。而不仅仅是任何字符串/字符。 测试示例:
例如,
cé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()
和preg_replace()
,对吗?