使用DOTALL 正規表示式修飾符來匹配換行符
使用包含普通字元、空格和包含在HTML div 標籤中的換行符的字串時,目標是提取
要解決此問題,必須使用 DOTALL 修飾符 (/s)。此修飾符確保點字符(正則表達式中的 .)匹配所有字符,包括換行符。透過將此修飾符合併到正規表示式中,可以準確地捕捉 div 標籤內的內容:
'/<div>(.*)<\/div>/s'
但是,這種方法可能會導致貪婪匹配。為了解決這個問題,建議使用非貪婪匹配:
'/<div>(.*?)<\/div>/s'
或者,匹配
'/<div>([^<]*)<\/div>/'
之外的所有內容。如果沒有其他標籤,也可以是一個解決方案:
'#<div>([^<]*)</div>#'
值得注意的是,使用/ 之外的字元作為正則表達式分隔符可以增強可讀性,無需在 中轉義/分區>。以下是使用 # 作為分隔符號的範例:
雖然這些解決方案可能足以滿足簡單的情況,但必須承認 HTML 很複雜,僅靠正規表示式解析可能還不夠。為了確保解析全面可靠,建議考慮使用專用的 HTML 解析器。以上是從 HTML 標籤中提取內容時如何匹配正規表示式中的換行符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!