-1

我正在提取标签的嵌套内容。我编写了一个在我的本地机器(WAMP)PHP 版本 5.3.8、多字节正则表达式(oniguruma)版本 - 4.7.1 上完美运行的正则表达式

$tagname = 'mytag';
$pattern = "@<$tagname(?:\s.*?!/)?>(.*?)</$tagname\s*>@s"; 

但是相同的正则表达式在配置 PHP 5.2.11、多字节正则表达式(oniguruma)版本 - 4.4.4 和多字节正则表达式(oniguruma)回溯检查 = 的实时机器上无法正常工作。

请帮助修改此正则表达式,使其在实时站点上开始工作。

此正则表达式匹配<mytag></mytag>且不匹配<mytag />

更新:感谢您的建议和回复。

我稍微更新了那个正则表达式,它对我有用。每当您想要获取内部内容(嵌套标签和文本)时,您都可以使用此正则表达式。无论您的标签如何排列,无论它有多少属性。

4

1 回答 1

0

你必须放在某个地方,比如:

(?:</$tagname>|/>)
于 2012-04-21T07:43:14.743 回答