删除标签我有这个网站的字符串:PHP - 从字符串
<div>
<span> 1 </span>
<a href="#"> <span> 2 </span> </a>
<a href="#"> <span> 3 </span> </a>
<a href="#"> <span> 4 </span> </a>
....
</div>
如何从链接(<a>
)内取出<span>
标签?
删除标签我有这个网站的字符串:PHP - 从字符串
<div>
<span> 1 </span>
<a href="#"> <span> 2 </span> </a>
<a href="#"> <span> 3 </span> </a>
<a href="#"> <span> 4 </span> </a>
....
</div>
如何从链接(<a>
)内取出<span>
标签?
它似乎是你试图从当前页面删除链接。如果是这样,你可能想看看这个教程。这可以通过3种方式完成。使用javascript,css或php和css。如果是这样,你可能想看看他的tutorial。
$string = str_replace("<span>", "", $string);
$string = str_replace("</span>", "", $string);
如果你只是想删除a
标签内span
标记,且格式为您发布正是那么下面符合这一规范。
$string = str_replace('<a href="#"> <span>', '<a href="#">', $string);
$string = str_replace("</span> </a>", "</a>", $string);
如果格式变化可言,你可能需要一个正则表达式或使用DomDocument
解析HTML。
你要一些报价单的问题。 StackOverflow不会让我编辑你的答案......一个人怎么做到这一点? – 2010-07-09 01:04:41
@nute:我认为你必须有2000的声望才能编辑其他人的东西,除非这个东西是社区维基。 – icktoofay 2010-07-09 01:11:04
@nute,谢谢。我只是复制和粘贴。必须爱语法高亮。 – 2010-07-09 01:18:58
你是否还想移除<span>
标记的内容?如果是这样,请试试这个:
$string = preg_replace("/<span[^>]+\>/i", "", $string);
否则,nute发布的str_replace方法将正常工作。
没有,只是标签''和'',只有从内部链接永远 – Alex 2010-07-09 01:05:37
的strip_tags()
function是为此而设计的,并允许您指定不应被剥夺的HTML标签:
$stripped = strip_tags($string, '<div><a>');
指定'<div><a>'
作为第二个参数保留<div>
和锚元素。
或者你可以使用这个:
$new_string = preg_replace('/(\<span\>|\<\/span\>)/', '', $string);
指向教程的链接不是有用的答案。正确的答案是使用带有$ allowable_tags参数的strip_tags,如下面的@Peter Gluck所述。 – axlotl 2018-02-12 15:56:16