我有一个巨大的文字,我一直以json格式。当我在json中收到它们时,对于某些特殊字符,如“& copy,我会收到不同的。我使用php和json将json转换为html。例如,我收到
'as \ c101d(单引号) “as \ c201d(开场报价) “as \ c202d(收盘报价)
我打算将所有','保存到一个数组中并使用该数组将文本中的\ c101d值替换为'或类似的东西,以便更容易在一个命令中检查整个文本,替换正确显示所有特殊字符并在我的网页上正确显示。
也许有些像$ arr = array(“\ c101d”=>“'”,“\ c202d”=>“”“),然后在$ text变量上调用此数组以检查类似于该字符的字符在数组中并执行字符串替换。 我有这个想法,但编码方式我如何实现这一目标?感谢任何帮助。
答案 0 :(得分:1)
¿你在使用json_encode()
使用不同的选项标志吗?
对于子字符串替换,您应该使用strtr()
答案 1 :(得分:1)
<强>解决强>
这段代码解决了所有问题,包括','和所有其他奇怪的字符。
$newtext=mb_convert_encoding($text, 'HTML-ENTITIES','UTF-8');
答案 2 :(得分:0)
str_replace应该做你想做的事。
此函数返回一个字符串或数组,其中 search 中出现的所有 search 都替换为给定的替换值。
str_replace
函数将数组作为搜索和替换的可能参数,因此您可以执行以下操作:
$search = array( '\'' , '"', ...);
$replace = array( '\c101d', '\c201d', ...);
$text = str_replace($search, $replace, $text);