检查给定的代码是否正确?通过正则表达式(PHP)进行检查

检查给定的代码是否正确?通过正则表达式(PHP)进行检查,php,regex,Php,Regex,我正在提供反向链接销售服务,但在检查发布者网站上已售出的链接时遇到问题。例如,我想检查一下 <a href="http://www.example.com" title="example">example</a> 我可以检查这个,但是有些用户添加target=\u blank,有些用户添加target=\u new。。。网站管理员正在更改代码的结构 我想用正则表达式检查代码。正则表达式应该在这里的a标记之间检查href=,title=和。我已经为您做了如下操作: $st

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

<a href="http://www.example.com" title="example">example</a>
我可以检查这个,但是有些用户添加target=\u blank,有些用户添加target=\u new。。。网站管理员正在更改代码的结构

我想用正则表达式检查代码。正则表达式应该在这里的a标记之间检查href=,title=和。

我已经为您做了如下操作:

$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 ) ) ;

使用而不是正则表达式,正则表达式虽然很酷,但对于此作业来说是错误的工具。

欢迎使用StackOverflow!几个澄清问题:您的意思是要确保标记只包含这两个属性吗?您希望在开始和结束标记之间检查什么?顺便问一下,什么是回扣销售服务?是的,你绝对是对的。。我想检查href和title。。而且不应该有rel=nofollow。。我们正在提供网站的反向链接。嗯,我一定是误读了你写的内容-以为你只想要href和标签之间的内容。这几乎就是我想要的,只是缺少标题。。我不理解正则表达式,如果您添加title属性,它完全可以。我的意思是我需要,href,title和标签之间的内容..你是对的,这对于我的需要是一个错误的工具,但是感谢你的关注。。我要写一篇关于这个的教程;
array(2) {
  [0]=>
  string(22) "http://www.example.com"
  [1]=>
  string(7) "example"
}