您好,登錄后才能下訂單哦!
本篇內容主要講解“php怎么匹配HTML標簽”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php怎么匹配HTML標簽”吧!
需要進行轉義,即\?
即最近匹配:
【貪婪】 模式:a.*c 字符串:abcabc 匹配結果:abcabc 【非貪婪】 模式:a.*?c 字符串:abcabc 匹配結果:abc
常用:
(1)*?
重復任意次,但盡可能少
(2)+?
重復1次或更多次,但盡可能少
(3)??
重復0次或1次,但盡可能少
(4){n,m}?
重復n到m次,但盡可能少
(5){n,}?
重復n次以上,但盡可能少
意思就是對于不想要用()捕捉到的數據,加一個?:
即可,例如:
模式:(?:aaa)(bbb) 匹配結果: $1=bbb
aaa不會被$1捕捉到
1、[.\n]*?
完全不行……原因未知
2、.*?
可以,需要在后面加/s,復習:
(1)i 不區分大小寫
(2)s 模式中的.匹配所有字符,包括換行符
3、(.|\n)*?
感覺上是可以的,但是對于很長很長的字符串,比如文章《三國高級輔助_v1.0》的內容,就不行,沒匹配完就結束了,導致文章無法顯示。
據《關于php中正則匹配包括換行符在內的任意字符的問題總結》說,是和php所綁定的PCRE庫版本有關,可我用得是php7.0啊……
4、[\s\S]*?
最佳匹配方式,這里的
(1)\s 匹配任意空白字符,包括換行符, 等價于[\f\n\r\t\v]
(2)\S匹配任意非空白字符,等價于 ^[\f\n\r\t\v]
合起來就是匹配所有字符。
需要匹配<pre><code> </pre></code>,只要文本不出現這個標簽,就可以這樣匹配:
/<pre><code>([\s\S]*?)<\/code><\/pre>/i
到此,相信大家對“php怎么匹配HTML標簽”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。