php - 从PHP变量值中删除换行符和换行符?

标签 php json file-get-contents

我有一个执行以下操作的PHP脚本:


使用file_get_contents()获取html文件的内容
回显JSON对象


问题是从file_get_contents获得的值是多行。它必须全部放在一行上才能采用正确的JSON格式。

例如

PHP文件:

$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>"
}


我的目标是使生成的html文档看起来像这样(值是一行,而不是三行)

{
foo: "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>"
}


如何才能做到这一点。我意识到,如果原始html文档为一行,则内容将为一行;但是,我试图避免这种解决方案。

更新资料

该问题已正确回答。这是完整的工作代码:

$some_json_value = file_get_contents("some_html_doc.html");
$some_json_value = json_encode($some_json_value); // this line is the solution

echo "{";
echo "\"foo\":\"$some_json_value\"";
echo "}";

最佳答案

除换行符外,还有其他字符会引起问题(例如,双引号和反斜杠),因此,与其仅去除换行符,不如正确地编码JSON更好。对于PHP> = 5.2,有内置的json_encode函数,并且有一些库可用于旧版本的PHP(例如,参见http://abeautifulsite.net/notebook/71

关于php - 从PHP变量值中删除换行符和换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125409/

相关文章:

php - Swift 3 如何转换此函数以返回 json 变量的内容

php - 简单 HTML DOM - 无法打开流 : Connection Timeout

javascript - 当页面仍在下载时回显字符串

php - 如何使用socket或curl连接到mysql

php - 如何在 Vagrant box with Chef 上安装 PECL 包?

php - 使用 PHP 但不是命令行的 MySQLdump 空文件?

javascript - 多个 JSON 文件调用

javascript - 加载更多 Action jquery

javascript - 如何在 C# 中将 json 值转换为字典并使用字符串值来寻址它们?

php - 使用 JSON 发送二进制文件内容