函式名: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
。