PHP 的 str_replace
函數本身不支持 Unicode 字符串,但您可以使用 preg_replace
函數配合適當的正則表達式來處理 Unicode 字符串。
以下是一個使用 preg_replace
處理 Unicode 字符串的例子:
<?php
$string = "你好,世界!";
$search = "世界";
$replacement = "PHP";
// 將字符串轉換為 Unicode 正則表達式所需的格式
$pattern = "/^.{0,6}(?=.$search)/u";
// 使用 preg_replace 進行替換
$result = preg_replace($pattern, $replacement, $string);
echo $result; // 輸出: 你好,PHP!
?>
在這個例子中,我們使用了 Unicode 正則表達式的標志 /u
來確保正則表達式能夠正確處理 Unicode 字符。我們還使用了前瞻斷言 (?=.$search)
來確保在找到 $search
字符串之前不會進行替換。這樣,即使 $search
字符串出現在 $string
的開頭,也能夠正確地只替換第一個出現的 $search
字符串。