遇到這樣的場景:
有乙個html標籤如下:
$str = 'sddf我需要提取標籤中aaahbaskdf
vvvasgd
ccchrgew4r4';
中間的內容 即aaa,vvv和ccc
如果使用preg_match直接匹配,**如下:
$preg = '/然後匹配:(.*)<\/?br>/';
$res = preg_match($preg, $str, $matches);然後列印出來結果是:if ($res)
array(2)匹配到了第乙個
和最後乙個
之間的所有內容
如果採用不貪婪的方式即將pattern寫為以下的形式:
$preg = '/或者(.*?)<\/?br>/';
$preg = '/就會只匹配到第乙個:(.*)<\/?br>/u';
array(2)我想到可以使用 explode函式 與 正則 一起使用的方法
$str = 'sddf
aaahbaskdf
vvvasgd
ccchrgew4r4';
$arr = explode('
', $str);
foreach ($arr as $item)
}
列印結果如下:
string(3) "aaa"如果後續有優化的正則,我會修改本文.string(3) "vvv"
string(3) "ccc"
PHP正則匹配html標籤
php正則匹配html標籤 一 前言 1 匹配字串時用 或 或 2 preg match匹配結果為1個,preg match all匹配結果為多個 3 如果有標籤結束,則要加符號 例如 div 如果只需要匹配標籤裡的屬性,就不需要匹配標籤的結束符號 標籤名 4 preg match all匹配多個時...
正則 多個字元匹配
正規表示式 二 匹配多個字元 元字元 量詞符號 import re 1 匹配0個或者1個a print re.findall a?b abbzab abb aab 2 匹配1個或者多個a print re.findall a b b ab aaaaaab abb 3 匹配0個或者多個a print ...
正則匹配多個字元
匹配多個字元的相關格式 字元功能 匹配前乙個字元出現0次或者無限次,即可有可無 匹配前乙個字元出現1次或者無限次,即至少有1次 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有 匹配前乙個字元出現m次 匹配前乙個字元出現從m到n次 需求 匹配出,乙個字串第乙個字母為大小字元,後面都是小寫字母並...