【发布时间】:2010-12-03 17:14:01
【问题描述】:
我正在使用 DOM 来解析字符串。我需要剥离跨度标签及其内容的功能。例如,如果我有:
This is some text that contains photo.
<span class='title'> photobyile</span>
我希望函数返回
This is some text that contains photo.
这是我尝试过的:
$dom = new domDocument;
$dom->loadHTML($string);
$dom->preserveWhiteSpace = false;
$spans = $dom->getElementsByTagName('span');
foreach($spans as $span)
{
$naslov = $span->nodeValue;
echo $naslov;
$string = preg_replace("/$naslov/", " ", $string);
}
我知道$span->nodeValue 返回的是 span 标签的值而不是整个标签,但我不知道如何获取整个标签以及类名。
谢谢, 伊莱
【问题讨论】:
-
如果你不需要使用 DOM,可以在 strip_tags 手册中查看 cmets。
-
你不能告诉 strip_tags 它应该删除哪些标签,只有应该不删除哪些标签。
-
正确,这就是为什么我提到了可以找到剥离标签方法的 cmets。
-
如果不是 DOM,我就必须使用正则表达式。这不是我真正想要的:)
-
不使用正则表达式解析 HTML 获得 +1 分