【发布时间】:2010-04-09 21:09:41
【问题描述】:
所以,我有一个搜索 HTML 标记并稍微修改它们的正则表达式。它工作得很好,但我需要对我找到的最后一个 HTML 结束标记做一些特别的事情。不确定执行此操作的最佳方法。我正在考虑某种反向注册前,但还没有找到一种方法来做到这一点。到目前为止,这是我的代码:
$html = '<div id="test"><p style="hello_world">This is a test.</p></div>';
$pattern = array('/<([A-Z][A-Z0-9]*)(\b[^>]*)>/i');
$replace = array('<tag>');
$html = preg_replace($pattern,$replace,$html);
// Outputs: <tag><tag>This is a test</p></div>
我想用特殊的东西替换最后出现的 <tag>,例如 <end_tag>。
有什么想法吗?
【问题讨论】:
-
如果我再次看到那个链接,我会生气的;/
-
请注意,HTML 属性值可以包含纯
>字符。 -
我们正在寻找最后一个 关闭 HTML 标记,所以我认为属性不会成为问题。
-
@stereofrog 哪个链接?这个? stackoverflow.com/questions/1732348/… >;-)