查詢

Transliterator::createFromRules()函式—用法及示例

「 根據指定的轉換規則建立一個新的 Transliterator 物件 」


函式名:Transliterator::createFromRules() 

適用版本:PHP 5 >= 5.4.0, PHP 7, PHP 8

函式說明: Transliterator::createFromRules() 函式根據指定的轉換規則建立一個新的 Transliterator 物件。這個函式可以用來建立自定義的字元轉換器,可以用於字串的轉換、替換或刪除特定字元。

語法:

Transliterator::createFromRules(string $rules [, int $direction = Transliterator::FORWARD])

引數:

  • $rules:轉換規則,是一個字串,包含了轉換的規則,可以使用 ICU 轉換規則語法進行定義。
  • $direction:可選引數,指定轉換方向,預設為 Transliterator::FORWARD。可選的值有:
    • Transliterator::FORWARD:從左到右進行轉換。
    • Transliterator::REVERSE:從右到左進行轉換。

返回值: 返回一個新建立的 Transliterator 物件,如果建立失敗則返回 FALSE

示例: 以下示例演示瞭如何使用 Transliterator::createFromRules() 函式建立自定義的字元轉換器,將字串中的特定字元轉換或刪除。

$rules = ':: Any-Latin; Latin-ASCII; [:Punctuation:] Remove;';

$transliterator = Transliterator::createFromRules($rules);

if ($transliterator === false) {
    echo "建立字元轉換器失敗";
} else {
    $str = "Hello, こんにちは!";
    echo "原始字串:$str<br>";
    
    $result = $transliterator->transliterate($str);
    echo "轉換後的字串:$result";
}

輸出:

原始字串:Hello, こんにちは!
轉換後的字串:Hello konnichiwa

在上面的示例中,我們使用了一個轉換規則 :: Any-Latin; Latin-ASCII; [:Punctuation:] Remove;,它的作用是將字串中的非 ASCII 字元轉換為對應的 ASCII 字元,並移除所有的標點符號。最終輸出的結果是 Hello konnichiwa

補充糾錯
熱門PHP函式
分享連結