簡體   English   中英

在PHP中替換多個utf-8字符

[英]replacing multiple utf-8 characters in php

我有一個包含多個utf-8字符的字符串,看起來像這樣

\u00b4, \u2019, \u201b, \u2032

我想用以下HTML字符替換它們

'

我正在使用以下php代碼替換這些

$search  = "(\\u00b4|\\u2019|\\u201b|\\u2032)"; 
$replace = "'";

$result = preg_replace($search, $replace, $string);

我不斷收到以下警告,並且$ result為null

Warning:  preg_replace(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\U, or \\u at offset 2 in /...

我不知道該怎么做。 任何有關如何替換這些utf8字符的想法都值得贊賞!

$unicode = "\u00b4 \u2019 \u201b \u2032";
$unicode = preg_replace('/\\\\u[^ ]+/im', "'\r\n", $unicode);
echo $unicode;

您沒有正確地轉義反斜杠,您需要再加上2個反斜杠:

\\\\

對特定的字符代碼進行預匹配時,您需要使用\\ x十六進制表示法,而不是unicode表示法-看起來像unicode值。

$search  = "(\xb4|\x2019|\x201b|\x2032)"; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM