0
如何与从具有2个html标签页面中的履带式读取所有数据读取的所有数据,例如:腓履带从2个HTMLS
<html>
<body>
text text text
</body>
</html>
text2 text2 text2 text
</body>
</html>
我需要更换第一关闭html和body标签,然后读取所有数据。我怎么做?
如何与从具有2个html标签页面中的履带式读取所有数据读取的所有数据,例如:腓履带从2个HTMLS
<html>
<body>
text text text
</body>
</html>
text2 text2 text2 text
</body>
</html>
我需要更换第一关闭html和body标签,然后读取所有数据。我怎么做?
您可以使用正则表达式来取代</body></html>
首次亮相,如果后一个多对同一标签:
// https://regex101.com/r/nVuN8S/1
$regex = '/(?<replace><\/body>\s*<\/html>)(?=(?:.|\s)*<\/body>\s*<\/html>)/';
$new_html = preg_replace($regex, '', $html);
在这里,你找</body>
和</html>
任意数量的空格分隔字符(例如新行)。然后,您使用积极的向前看来检查它们后面是否包含任何数量的符号(包括空格),以及其后的额外</body>
和</html>
标记。
改为“所有数据”(假设这意味着<body>
标签之间的一切),你可以使用另一个正则表达式如:
// https://regex101.com/r/nVuN8S/2
$regex = '/<body>(?<data>(?:.|\s)+)<\/body>'/;
当然,你可以使用几个不同的方法来获得数据:简单的字符串处理(在<body>
之前和</body>
之后以及标签本身之前删除文本),DOM文档功能等。
可能出现[在PHP中如何解析和处理HTML/XML? //stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) – Beloo
你试过我的解决方案吗?它有用吗? –