我有一个看起来像的字符串:
">ANY CONTENT</span>(<a id="show
我需要获取任何内容。但是,中间有空格
</span> and (<a id="show
这是我的preg_match:
$success = preg_match('#">(.*?)</span>\s*\(<a id="show#s', $basicPage, $content);
\ s *代表空格。我得到一个空数组!
知道如何获取内容吗?
答案 0 :(得分:0)
使用真正的HTML解析器。正则表达式并不适合这项工作。有关详细信息,请参阅this answer。
您可以使用DOMDocument::loadHTML()解析为可以查询的结构化DOM对象,就像这个非常基本的示例(您需要进行错误检查):
$dom = new DOMDocument;
$dom->loadHTML($data);
$span = $dom->getElementsByTagName('span');
$content = $span->item(0)->textContent;
答案 1 :(得分:0)
我只需要:
“&GT;
正确定义上述内容,因为“&gt;在页面中太多,所以它不知道哪一个要特别选择。因此,它在”&gt;之前返回了所有内容。直到它击中(
解决方案:
.">
样品:
$success = preg_match('#\.">(.*?)</span>\s*\(<a id="show#s', $basicPage, $content);