【发布时间】:2013-03-26 17:21:01
【问题描述】:
我有这个 HTML 文档
{*
<h2 class="block_title bg0">ahmooooooooooooooooooooooooooooooooooooooooooodi</h2>
<div class="block_content padding bg0">{welc_msg}</div>
<br/>
{*
hii<br /><span>5
*}
{*
hii<br /><span>5
*}
*}
我想删除它,所以我想删除{* *}之间的任何东西
我写了正则表达式模式:
preg_replace("#(\{\*(.*?)\*\})+#isx",'',$html);
它可以工作,但它不能 100% 理想地工作,它最后会留下 *}。
你能告诉我真正的模式吗?
【问题讨论】:
-
您需要使用recursive regex 来匹配嵌套结构吗?
-
请问如何?我之前没有写递归正则表达式
-
您的嵌套模式语言不是regular。因此,您不能使用(普通)正则表达式。但是你可以在这里使用PCRE supports recursive patterns。
标签: php regex preg-replace pattern-matching