我有一个json文件,我正在wordpress网站上显示其中的内容。这个问题源于这样一个事实,即我返回的一些值需要稍后进行排序,虽然该值作为文本进行回显,但撇号将显示为撇号,但是如果我在HTML中回显完全相同的值(如作为数据属性或javascript),它将作为单个引号返回。
我需要这个值来返回相同的格式,无论它在哪里被回显。这是因为这些数据稍后将用于过滤大型数据表。
<?php $content = file_get_contents(\'jsonfilepath\');
$x = json_decode($content);
$array = array();
foreach($x as $row) {
$value = $row->name;
if(!in_array($name, $array)){
array_push($array,$value);
}
};
sort($array);
foreach( $array as $name ){
$name = mb_convert_encoding($name,"UTF-8");
$name = ucwords(strtolower($name));
$name = html_entity_decode($name, ENT_QUOTES, "UTF-8");
$name = str_replace("’","\'", $name);
$name = htmlspecialchars_decode(ucwords(strtolower($name)));
$name = implode(\'/\', array_map(\'ucfirst\', explode(\'/\', $name)));
echo \'<option value="\'.utf8_decode($name).\'">\'.utf8_decode($name).\'</option>\';
}
此返回
<option value="Chicago/O\'hare">Chicago/O’hare</option>
我几乎要在页面加载后运行脚本来替换这个撇号的所有实例,但必须有一种服务器端方法来处理这个问题。