检查给定代码是否正确?检查正则表达式(PHP)

时间:2011-07-13 08:21:21

标签: php regex

我正在提供反向链接销售服务,但在检查发布商网站上的已售链接时遇到问题。例如,我想检查

<a href="http://www.example.com" title="example">example</a>

我可以检查一下,但有些用户添加target="_blank"其中一些target="_new" ...网站管理员正在更改代码的结构。

我想用正则表达式检查代码。正则表达式应检查href=""title=""以及a标记(<a>here</a>)之间。

2 个答案:

答案 0 :(得分:0)

我告诉过你:

$str = "<a onclick=\"foo()\" href=\"http://www.example.com\" title=\"example\">example</a>" ;

function url_grab( $html )
{
    preg_match( "/<a\s+.*href=(\"|')([^\\1]+)(\\1).*>(.+)<\/a>/U" , $html , $m ) ;
    return array( $m[ 2 ] , $m[ 4 ] ) ;
}

// test it
var_dump( url_grab( $str ) ) ;

输出:

array(2) {
  [0]=>
  string(22) "http://www.example.com"
  [1]=>
  string(7) "example"
}

答案 1 :(得分:0)

使用this parser代替正则表达式,这是很酷但是错误的工具。