我正在嘗試使用正好出現在textABCXYZ123字符串之前的regexp來查找下面的HTML鏈接。查找href的最後一個匹配項
lorem ispum...<strong><a href="http://www.site.com/link/123">FIRSTlink</a> </strong><br>
1 points| Saved Jan 08, 2014 at 00:49 <span class=notes_box>ANOTHERLINK</span>.
... more text........... more text........
... more text.......<strong><a href="http://www.site.com/link/123">other link</a> </strong><br>
1 points| Saved Jan 08, 2014 at 00:49 <span class=notes_box>ANOTHERLINK</span>.
... more text........... more text........
<strong><a href="http://www.IneedThis.com/link/123">somewhere to go</a> </strong><br>
1 points| Saved Jan 08, 2014 at 00:49 <span class=notes_box>textABCXYZ123</span>
...
... more text..........<strong><a href="http://www.site.com/link/123">other link</a> </strong><br>
1 points| Saved Jan 08, 2014 at 00:49 <span class=notes_box>ANOTHERLINK</span>.
... more text........... more text........
有很多鏈接,我需要捕獲出現在textABCXYZ123字符串前面的鏈接。我想下面的正則表達式,但它返回我第一個鏈接,而不是最後一個:
$find_string = 'ABCXYZ123';
preg_match('#href="(.*)".*text'.$find_string.'#sU',$html,$match);
// so final resutl is "http://www.site.com/link/123" which is first link
有人能指導我怎麼可以只是我的串textABCXYZ123之前捕獲的鏈接? P.S我知道xpath和簡單的html dom,但我想用正則表達式匹配。感謝您的任何意見。
你可能想看看這個 http://stackoverflow.com/questions/13618077/php-regex-to - 匹配查找最後一次匹配的最後一個字符串。 – Braunson