首頁 >後端開發 >php教程 >如何在正規表示式中符合``標籤內的換行符?

如何在正規表示式中符合``標籤內的換行符?

Barbara Streisand
Barbara Streisand原創
2024-10-31 03:01:311047瀏覽

How to Match Newline Characters Within `` Tags in Regular Expressions?

符合正規表示式中的換行符

您有一個在

之間包含字元、空格和換行符的字元串。和
。正規表示式 (.)失敗,因為 . 與換行符不符。

解決方案1:DOTALL 修飾符

使用DOTALL 修飾符,這使得點( .) 匹配換行符:

'/<div>(.*)<\/div>/s'

解決方案2:非貪婪匹配

要防止貪婪匹配,請使用帶有*?:

'/<div>(.*?)<\/div>/s'

解決方案3:排除如果其他標籤不存在

您可以配對除

'/<div>([^<]*)<<\/div>/''

以外的所有內容如果沒有其他標籤:

正規表示式分隔符號注意事項

'#<div>([^<]*)<<\/div>#'

您可以使用/以外的字元作為正規表示式分隔符,這樣可以更輕鬆地轉義特殊字元:

注意

這些解決方案可能會因嵌套div、額外空格、HTML 註解和其他複雜度而失敗。考慮使用 HTML 解析器進行可靠的 HTML 解析。

以上是如何在正規表示式中符合``標籤內的換行符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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