是否从PHP变量值中删除换行符和新行?
我有一个PHP脚本,可以执行以下操作:是否从PHP变量值中删除换行符和新行?,php,json,file-get-contents,Php,Json,File Get Contents,我有一个PHP脚本,可以执行以下操作: 使用file_get_contents()获取html文件的内容 回显JSON对象 问题是从文件\u get\u内容中获取的值是多行的。为了使用正确的JSON格式,它需要全部放在一行上 比如说 PHP文件: $some_json_value = file_get_contents("some_html_doc.html"); echo "{"; echo "\"foo\":\"$some_json_value\""; echo "}"; 生成的ht
- 使用file_get_contents()获取html文件的内容
- 回显JSON对象
$some_json_value = file_get_contents("some_html_doc.html");
echo "{";
echo "\"foo\":\"$some_json_value\"";
echo "}";
生成的html文档如下所示:
{
foo: "<p>Lorem ipsum dolor
sit amet, consectetur
adipiscing elit.</p>"
}
您可以将所有出现的\n和\r替换为“”。退房。是否进行简单的更换
$content = str_replace(
array("\r\n", "\n", "\r"),
'',
file_get_contents('some_html_doc.html')
);
但更好的办法是马上做一个测试
$content = json_encode(file_get_contents('some_html_doc.html'));
除了换行符之外,还有其他字符会给您带来问题(例如双引号和反斜杠),因此,与其去掉换行符,不如对JSON进行正确编码。对于PHP>=5.2,有内置的
json\u encode
函数,并且有可用于旧版本PHP的库(参见示例)我不想删除\n而且\r\n是一个换行符。。。正如你的主体所说。您仍然可以在调用preg_replace时应用相同的原则。您也可以这样做:echo json_encode(array('foo'=>$some_json_value));谢谢它解决了我在JS VAR中保存一些填充了标签内容的问题+1.
$content = str_replace(
array("\r\n", "\n", "\r"),
'',
file_get_contents('some_html_doc.html')
);
$content = json_encode(file_get_contents('some_html_doc.html'));