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
你試過我的解決方案嗎?它有用嗎? –