0

有一些链接,一些在 javascript 代码中。如何预匹配那里的网址?(网址可能以 , 或 结尾.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);
}
4

2 回答 2

1

在字符串开头匹配'javascript'的逻辑是错误的;它应该是:

strpos($sitelink, 'javascript') === 0

正则表达式也可以更好一点:

preg_match("@'([^']*)'@", $sitelink, $matches);
于 2012-09-24T08:47:04.883 回答
1

将 if 条件更改为:

if(strpos($sitelink,'javascript') !== false){

'javascript'里面的位置$sitelink0不正确的!!!

于 2012-09-24T08:39:15.320 回答