我有以下代码:
<?php echo strip_tags($firstArticle->introtext); ?>
其中 $firstArticle 是一个 stdClass 对象:
object(stdClass)[422]
public 'link' => string '/maps101/index.php?option=com_content&view=article&id=57:greenlands-newest-iceberg&catid=11:geography-in-the-news' (length=125)
public 'text' => string 'GREENLAND'S NEWEST ICEBERG' (length=26)
public 'introtext' => string '<p>A giant chunk of ice calved off the Petermann Glacier on
the northwest side of Greenland this summer. At nearly 100 square miles (260
sq. km) in size, four times the size of Manhattan, th' (length=206)
public 'date' =>
object(JDate)[423]
public '_date' => int 1284130800
public '_offset' => int 0
public '_errors' =>
array
empty
你可以看到 $firstArticle->introtext 指的是字符串:
“<p>
今年夏天,格陵兰岛西北侧的彼得曼冰川崩解了一大块冰。面积近 100 平方英里(260 平方公里),是曼哈顿面积的四倍”
在这个<p>
应用程序中,标签对我来说是个问题,但是 strip_tags 绝对拒绝删除它,我不知道为什么。我实际上放弃了 strip_tags 并尝试使用正则表达式 /<(.|\n)*?>/ 代替 preg_replace :
preg_replace('/<(.|\n)*?>/', '', $firstArticle->introtext);
但这也没有用!输出时如何从该字符串中去除所有 HTML 标签(匹配或不匹配)?