我正在嘗試使用preg_match_all從HTML字符串中提取重複的模式。如何使用PHP獲取每個匹配的正則表達式模式
這個問題似乎是我的模式有一個定義的開始和結束,但在它們之間的通配符部分。所以preg_match_all
最終只得到最大的比賽,但不是單個比賽。
我的最終目標是將每個<a ...>some text</a>
從html字符串中分離出來,並將它們包裝爲:<font ...><a ...>some text</a></font>
。
但首先關閉我想簡單地成功分離它們每個:
$lvs_regex = "/<a.+<\/a>/" ;
$lvs_test = "click <a href='...'>AAA</a> now, <a href='...'>BBB</a> later, <a href='...'>CCC</a> tomorrow" ;
preg_match_all($lvs_regex , $lvs_test , $matches) ;
for($i = 0 ; $i < count($matches) ; $i++)
{ print $matches[ $i ][0] . "<br/>" ;
}
,我想返回:
[0] =><a href='...'>AAA</a>
[1] =><a href='...'>BBB</a>
[2] =><a href='...'>CCC</a>
但是我只得到一個匹配:
[0] =><a href='...'>AAA</a> now, <a href='...'>BBB</a> later, <a href='...'>CCC</a>
閱讀上[貪婪](http://www.regular-expressions.info /repeat.html),或者使用否定字符類來匹配兩者之間的非標籤內容。 – mario
爲什麼不使用css規則,而不是將每個鏈接放在''標籤中? –
卡西米爾,文本實際上被髮送到閃光燈,其對html文本有限制。 – dsdsdsdsd