有一些链接,有些是javascript代码。如何preg匹配那里的网址? (网址可能会以.shtml
,.html
,/
或.jsp
结尾,所以我认为用单引号将它们拼凑起来,但没有任何回报。)
$sitelink = "javascript:pre('http://www.domain.com/cotagory/articles/2012/09/23/notice.shtml',%20%,500)";
//$sitelink = "javascript:box('http://www.domain.com/cotagory/articles/2012/09/23/sports/',%18%,500)";
if(strpos($sitelink,'javascript')===true){
preg_match_all("@'(.*)'@i",$sitelink,$matches);
var_dump($matches);
}
答案 0 :(得分:1)
将if条件更改为:
if(strpos($sitelink,'javascript') !== false){
'javascript'
$sitelink
内0
的位置是{{1}},这是不正确的!
答案 1 :(得分:1)
在字符串开头匹配'javascript'的逻辑是错误的;它应该是:
strpos($sitelink, 'javascript') === 0
正则表达式也可以更好一些:
preg_match("@'([^']*)'@", $sitelink, $matches);