0
我想從字符串中刪除一組字符。我正在使用preg_replace將空白字符替換爲unicode字符。PHP:preg_replace函數用於替換字符串中的範圍的unicode字符
我有一些unicode字符的範圍。
它適用於以下代碼。
$output = "Clean :this; [cnv\[email protected] non AS]CII äóchar^acters.";
$output = preg_replace('/[\x00-\x1F]|[\x21-\x2C]|[\x3A-\x40]|[\x5B-\x5E]|[\x7B-\x7D]|[\x80-\xBF]|[\x2B0-\x36F]/','', $output);
echo $output;
但它給以下代碼錯誤。
$output = "Clean :this; [cnv\[email protected] non AS]CII äóchar^acters.";
$output = preg_replace('/[\x00-\x1F]|[\x21-\x2C]|[\x3A-\x40]|[\x5B-\x5E]|[\x7B-\x7D]|[\x80-\xBF]|[\x2B0-\x36F]|[\x2000-\x2BFF]|[\x2E00-\x2E7F]|[\x3000-\x303F]|[\x1D000-\x1D24F]|[\x1F600-\x1F77F]|[\x1F000-\x1F0FF]/','', $output);
echo $output;
錯誤: - 的preg_replace():編譯失敗:範圍亂序在字符類在偏移97
我可以使用循環用於從字符串中刪除的Unicode字符。所以我需要運行循環更多的範圍。
能否請你在上面的代碼中建議我哪個更好?無論是循環還是preg_replace?如果preg_replace更好,那麼需要解決上述錯誤。