2013-03-20 109 views
-1

我正在使用JSON API,并且希望在没有html标记的情况下解析发布内容(明文)。如何获得没有html标签的帖子内容?

我尝试使用htmlspecialchars(json_encode($posts))strip_tags($posts);,但无法从JSON中删除html标记。

不知道我是否正确放置,因为我是新来的PHP。

public function get_category_posts() { 
global $json_api; 
$category = $json_api->introspector->get_current_category(); 
if (!$category) { 
    $json_api->error("Not found."); 
} 
$posts = $json_api->introspector->get_posts(array(
    'cat' => $category->id 
)); 
$result = strip_tags($posts); 
return $this->posts_object_result($result, $category); 
} 

JSON

"posts": [ 
{ 
    "id": 3454, 
    "type": "post", 
    "status": "publish", 
    "title": "XYZ JOINS", 
    "content": "<p>This is the content that should not have html tags.<\/p>\n", 
    "date": "2012-05-16 22:06:55" 
} 
] 

我想从上面的JSON删除<p></p> HTML标签。内容中有许多div和其他html标签。

+0

你能给什么是错的一些样品输入/输出以及你如何喜欢它的样子,因为它是一个有点困难,告诉你想要什么,此刻 – 2013-03-20 17:30:13

+0

谢谢!我修改了这个问题以获得更多的解释。 – updev 2013-03-20 17:38:23

+0

'strip_tags'只能用于字符串..也许你应该使用这个函数仅仅用于'Content'而不是整个Posts? – Philipp 2013-03-20 17:46:28

回答

0

我认为你所需要的只是一个简单的正则表达式去掉内容中的html样式标签。也许这会工作

str.replace(/<\/?[^>]+>/gi, '') 
+0

我是否需要在所有$帖子上循环,不确定如何在php – updev 2013-03-20 17:52:10

+0

上执行该操作取决于您的php代码实现。如果你一次又一次地获取数据,那么是的 – Vineet1982 2013-03-20 17:54:48

+0

str.replace中的gi是什么? – updev 2013-03-20 18:20:50