首頁  >  文章  >  後端開發  >  如何在 PHP 中用其基本等效字元替換特殊字元?

如何在 PHP 中用其基本等效字元替換特殊字元?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 17:54:03930瀏覽

How to Replace Special Characters with Their Base Equivalents in PHP?

用PHP 中的基本等價取代特殊字元

問題: 是否可以用它們的值來取代特殊字元PHP 中的基本等效項,例如將“ã”轉換為“a”,將“é”轉換為“e”?

答案: 是的,可以用其基本字元替換重音字元使用 PHP 的等價物。

方法:

如果您有權訪問Normalizer 類,則可以將Normalizer::normalize() 方法與Normalizer::FORM_D 結合使用常數:

<code class="php">$string = "ãé";
$baseString = Normalizer::normalize($string, Normalizer::FORM_D);</code>

如果您無權訪問Normalizer 類,可以使用以下函數:

<code class="php">function Unaccent($string)
{
    return preg_replace('~&amp;([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '', htmlentities($string, ENT_QUOTES, 'UTF-8'));
}</code>

此函數將HTML 實體轉換為其對應的字符,然後使用正規表示式刪除常見的重音符號。

範例:

<code class="php">$string = "ãé";
$baseString = Unaccent($string);</code>

產生的 $baseString 變數將包含「ae」。

以上是如何在 PHP 中用其基本等效字元替換特殊字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn