替换php响应的字符串
我有这样的php文件替换php响应的字符串,php,json,response,Php,Json,Response,我有这样的php文件 <?php define('HOST','localhost'); define('USER','root'); define('PASS','123'); define('DB','123'); $mysqli = new mysqli(HOST,USER,PASS,DB); /* check connection */ if (mysqli_conn
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','123');
define('DB','123');
$mysqli = new mysqli(HOST,USER,PASS,DB);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("SET NAMES 'utf8'");
//$sql="SELECT via,events,doc FROM profile";
$sql="SELECT via, doc FROM profile";
$result=$mysqli->query($sql);
while($e=mysqli_fetch_assoc($result)){
$output["response"][]=$e;
//json_encode($output) = str_replace("\/", '/', json_encode($output));/* not working*/
}
echo(json_encode($output));
$mysqli->close();
?>
我是说如何用这个来代替上面的回答
{"response":[{"via":"19156001882722","doc":"http://oursite/propic_uploads/58.png"},{"via":"sunil holla","doc":"propic_uploads/Fantasia Painting(29).jpg"}]}
任何人都可以帮我得到这个…你需要从你的回复中获得带斜杠的功能
示例:
$string = '{"response":[{"via":"19156001882722","doc":"http:\/\/oursite\/propic_uploads\/58.png"},{"via":"sunil holla","doc":"propic_uploads\/Fantasia Painting(29).jpg"}]}';
echo stripslashes($string);
{"response":[{"via":"19156001882722","doc":"http://oursite/propic_uploads/58.png"},{"via":"sunil holla","doc":"propic_uploads/Fantasia Painting(29).jpg"}]}
结果:
$string = '{"response":[{"via":"19156001882722","doc":"http:\/\/oursite\/propic_uploads\/58.png"},{"via":"sunil holla","doc":"propic_uploads\/Fantasia Painting(29).jpg"}]}';
echo stripslashes($string);
{"response":[{"via":"19156001882722","doc":"http://oursite/propic_uploads/58.png"},{"via":"sunil holla","doc":"propic_uploads/Fantasia Painting(29).jpg"}]}
这里已经解决了:
您只需要使用JSON_UNESCAPED_SLASHES标志:
json_encode($str,json_UNESCAPED_SLASHES)代码>它是如何存储在您的数据库中的?为什么要使用它?“\”字符用于转义“/”字符。它告诉解析器下一个字符不是语法,应该被解释为普通字符。哦,非常酷的解决方案,比我做得好。。投票给我们简单和好。谢谢