繁体   English   中英

特殊字符数组,可替换为文本,php,json

[英]array of special characters to replace in a text, php, json

我有一个很大的文本,我一直使用json格式。 当我在json中收到它们时,对于某些特殊字符(如“&copy”),我会收到不同的消息。例如,我正在使用php和json将json转换为html。例如,我收到了

'作为\\ c101d(单引号)“作为\\ c201d(开引号)”作为\\ c202d(闭引号)

我打算将所有的','保留在一个数组中,并使用该数组将文本中的\\ c101d值替换为'或类似的东西,以便更容易在一个命令中检查整个文本,替换所有特殊的字符正确并正确显示在我的网页上。

也许像$ arr = array(“ \\ c101d” =>“'”,“ \\ c202d” =>“”“)这样的对象,然后在$ text变量上调用此数组以检查与数组中相似的字符并执行我有一个主意,但是在编码方面我该如何实现呢?感谢任何帮助。

解决了

这段代码很好地解决了所有问题,包括','和所有其他奇怪的字符。

$newtext=mb_convert_encoding($text,  'HTML-ENTITIES','UTF-8');

¿您是否在将json_encode()与不同的选项标志一起使用?

对于子字符串替换,您应该使用strtr()

str_replace应该做您想要的。

该函数返回一个字符串或一个数组,其中所有出现在主题中搜索替换为给定的替换值。

str_replace函数将数组作为搜索和替换的可能参数,因此您可以执行以下操作:

$search = array( '\'' , '"', ...);
$replace = array( '\c101d', '\c201d', ...);
$text = str_replace($search, $replace, $text);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM