比较两个字符串并忽略(但不替换)重音符号。PHP
P粉476046165
2023-08-17 16:16:51
<p>我得到了(例如)两个字符串:</p>
<pre class="brush:php;toolbar:false;">$a = "joao";
$b = "joão";
if ( strtoupper($a) == strtoupper($b)) {
echo $b;
}</pre>
<p>我希望即使有重音,它也能为真。然而,我需要它忽略重音而不是替换,因为我需要输出"joão"而不是"joao"。</p>
<p>我看到的所有答案都是将"ã"替换为"a",而不是使比较为真。我一直在阅读有关规范化的内容,但我也无法使其工作。有什么想法吗?谢谢。</p>
我想分享一个优雅的解决方案,避免使用htmlentities,并且不需要手动列出所有字符替换。这是对这个帖子的php翻译。
输出:
只需将重音符号转换为它们的非重音对应部分,然后比较字符串。我答案中的函数将为您删除重音符号。
输出:
演示