从字符串中删除lex标记块

时间:2012-07-25 18:21:42

标签: php parsing callback tags pyrocms-lex

您好我有这个lex解析器模板,其中包含一个我想要删除的回调标记,因为我得到一个无限循环。

我尝试使用php preg_replace然后我得到一个白色屏幕。我要删除的标记采用以下格式:

{{ search:query term="value" .. more attributes .. }}

  // any content between these tags needs to be removed as well, including new lines

{{ /search:query }}

这是我在preg_replace的尝试:

$text = preg_replace('@\{\{\ssearch:(.*?)\}\}(.*?)\{\{\s/search:(.*?)\s\}\}@is','',$text);

但它不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

$text = preg_replace('\{\{\s+search:query(\s+\S+=".*")+\s*\}\}.*\{\{\s*/search:query\s*\}\}Uims', '', $text);

处理缺失的和多个空格,一个或多个attr="value"对,多行且非贪婪。