我确信这是一个简单的问题,尽管我在谷歌上进行了如此多的搜索和搜索,但我似乎无法弄清楚这有什么问题。我在此页面上的其他区域使用类似的表达式来准确返回我想要的内容。
但是,我无法让这个特定的位返回我想要的东西,所以也许有人可以帮助我。
我有一个带有特定 ID“user-sub-commhome”的 div - 我想从该 div 中提取文本。文本被标签包围,但我可以轻松地使用 strip_tags 将它们删除。我正在使用正则表达式来尝试提取数据。
这是我的代码:
$intro = "<div id="user-sub-summary">Summary</div>
<div id="user-sub-commhome"><em>Commercial</em></div>
<div id="whatever">whatever</div>";
$regex = '#\<div id="user-sub-commhome"\>(.+?)\<\/div\>#s';
preg_match($regex, $intro, $matches);
$match = $matches[0];
echo $match;
我尝试过改变事情但没有成功,似乎没有任何东西可以回应任何事情。所以我希望一些对正则表达式更有经验的人可以提供帮助。
如果您更改周围的双引号,您的代码对我有用$intro
到单引号:
$intro = '<div id="user-sub-summary">Summary</div>
<div id="user-sub-commhome"><em>Commercial</em></div>
<div id="whatever">whatever</div>';
$regex = '#\<div id="user-sub-commhome"\>(.+?)\<\/div\>#s';
preg_match($regex, $intro, $matches);
$match = $matches[0];
echo $match;
您可能想阅读一些著名的建议 https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454关于正则表达式和 HTML。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)