如何剥离<a> tags in an xml file?</a>

时间:2015-01-05 06:46:48

标签: php html regex xml preg-replace

我在xml文件中有<a>个标签。我想只删除<a>个标签。

例如:

<test>This is a line with <a name="idp173968"></a> tags in it</test>

由于str_replace标记属性不同,我无法<a>替换标记。

我试过了:

preg_replace("/<a[^>]+\>/i", "", $content);

如果代码的结构类似于此<a name="idp173968"/>,则效果正常。

那么,如何在我的案例中删除标签?

预期输出:

<test>This is a line with tags in it</test>

2 个答案:

答案 0 :(得分:1)

您可以尝试一个非常简单的正则表达式,如

<a\s.*?<\/a>

Regex Demo

示例

echo preg_replace("/<a\s.*?<\/a>/i", "", $content);
=> <test>This is a line with  tags in it</test>

$content="<test>This is a line with <a name=\"idp173968\"></a> tags in it</test><article-meta>asdf</article-meta>";
echo preg_replace("/<a\s.*?<\/a>/i", "", $content);
=><test>This is a line with  tags in it</test><article-meta>asdf</article-meta>

答案 1 :(得分:0)

<?php
$string = '<test>This is a line with <a name="idp173968"></a> tags in it</test>';
$pattern = '/<a\s.*?<\/a>/i';
echo preg_replace($pattern, "", $string);
?>