比較兩個字串並忽略(但不替換)重音符號。 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翻譯。
輸出:
只需將重音符號轉換為它們的非重音對應部分,然後比較字串。我答案中的函數將為您刪除重音符號。
輸出:
示範