首頁 >後端開發 >php教程 >如何在 PHP 中不使用正規表示式擷取標籤之間的文字?

如何在 PHP 中不使用正規表示式擷取標籤之間的文字?

Linda Hamilton
Linda Hamilton原創
2024-12-18 13:05:25804瀏覽

How to Extract Text Between  Tags in PHP Without Using Regular Expressions?

如何在PHP 解析HTML 程式碼

問題:
提取標題標籤之間的文字( < ;h1>) 來自儲存在PHP 中的HTML 程式碼變數。

要求:
避免使用正規表示式。

解:

有幾個解析技巧PHP 中的 HTML 程式碼。對於非正規表示式,建議的方法是使用 PHP 文檔物件模型 (DOM)。

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG!';
$DOM = new DOMDocument;
$DOM->loadHTML($str);

// Retrieve all heading elements
$items = $DOM->getElementsByTagName('h1');

// Extract and display the text content
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br\>";
}
?>

此程式碼輸出:

T1
T2
T3

擴充解決方案:
如果需要擷取標題標籤之間的內容,請使用下列正規表示式:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG!';
echo preg_replace("#<h1.*?>.*?</h1>#", "", $str);
?>

此程式碼輸出:

Lorem ipsum.The quick red fox...... jumps over the lazy brown FROG

以上是如何在 PHP 中不使用正規表示式擷取標籤之間的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn