【问题标题】:PHP JSON Removing HTML TagsPHP JSON 删除 HTML 标签
【发布时间】:2016-10-27 19:06:41
【问题描述】:

我正在使用一个返回 JSON 的 API,并且我正在使用 PHP 来显示它。 JSON 内部是 HTML 标签。我一直在阅读有关可以从返回的 JSON 中删除它们的多种方法,但我有很多独特的标签,我想知道最简单的方法是什么?许多其他问题似乎都集中在特定标签上,并找到了删除它们的解决方案。是否可以只删除所有已知的 HTML 标签,或者我需要单独对每个标签进行编程?如果答案是肯定的,那么这样做的方法是什么?

感谢您的宝贵时间和意见。

【问题讨论】:

  • 我尝试了 strip_tags 但返回的信息仍会显示标签。它似乎所做的只是阻止浏览器呈现它们。我可能用错了吗? [代码] echo "Title:".strip_tags($results['title']); [/code]
  • 取决于$results['title']中的内容
  • 好吧,除非 a] 你控制 API,或者 b] 你可以向 API 发送一个标志,告诉它去除 HTML 标签,你会得到你得到的。 strip_tags() 从你得到的东西中删除标签......然后你决定如何使用它。

标签: php html json


【解决方案1】:

只需这样做:

$data = json_decode($your_json_string, TRUE);

array_walk_recursive($data, function(&$v) { $v = htmlentities($v); });

或完全删除标签

array_walk_recursive($data, function(&$v) { $v = strip_tags($v); });

【讨论】:

  • array_walk_recursive($decoded_results, function(&$v) { $v = str_replace('<p>','</p>','', $v); });
  • 您的代码给了我一个想法,而且效果很好,但我似乎无法让它接受多个输入来替换为“”。是否可以向 str_replace 添加多个项目?
  • 是的,您可以像这样添加多个项目:
  • 例如这样:str_replace(array("\n\r","\n","\r"), '
    ', $data)
猜你喜欢
  • 2013-08-19
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多