使用 PHP 提取 HTML 標籤之間的內容
使用正規表示式從字串中提取特定內容可能具有挑戰性。假設您需要檢索 之間的內容和代碼>標籤。讓我們探索如何在 PHP 中實現此目的。
了解正規表示式模式
為了擷取標籤之間的內容,我們將採用下列正規表示式模式:
'#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s'
登入後複製
分解模式:
-
b: 確保像 這樣的拼字錯誤被捕獲。 </codes>
</li>
<li>
<strong><sup><a href="https://www.php.cn/link/d58f36f7679f85784d8b010ff248f898" rel="nofollow" target="_blank">1</a></sup>*:</strong> 捕捉具有屬性(例如,類別)的標籤的內容。 </li>
<li>
<strong>(.*?):</strong> 將標籤中的實際內容捕獲為非貪婪匹配。 </li>
<li>
<strong>b:</strong> 同樣,這可確保不會捕獲拼字錯誤。 </li>
<li>
<strong>s:</strong> 's' 標誌啟用此模式以換行符號擷取內容。 </li>
</ul>
<p><strong>全部放入一起:</strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$regex = '#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s';
$content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <code>Donec sed erat vel diam ultricies commodo. Nunc venenatis tellus eu quam suscipit quis fermentum dolor vehicula.";
preg_match($regex, $content, $matches);
$code = $matches[1];
登入後複製
操作與重新插入擷取的內容
擷取內容與重新插入擷取的內容
擷取內容後,您可以對提取的字串和父字串執行操作。若要將提取的內容重新插入到父字串中,您可以使用字串操作技術,例如子字串替換。
$replacedContent = str_replace($matches[0], "MODIFIED", $content);
登入後複製
例如,讓我們取代 中的內容帶有「MODIFIED」的標籤:<strong></strong>
結論
透過利用提供的正規表示式,您可以有效地提取PHP 中特定HTML 標籤之間的內容。這種技術在各種字串解析場景中都很有價值。
>
↩
以上是如何使用 PHP 擷取 `` 標籤之間的內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!