Php 我如何才能匹配以下模式

Php 我如何才能匹配以下模式,php,regex,Php,Regex,我需要匹配模式 <a class="item-link" href="NEED TO GET THIS PART">AND THIS PART</a> 我尝试了所有三种正则表达式模式,但似乎没有一种对我有帮助 preg_match_all("/<a.*(?:[^class=\"item-link\"=]*)class=\"item-link\"(?:[^href=]*)href=(?:'|\")?(.*)(?:'|\")(?:[^>]*)>(.*)

我需要匹配模式

<a class="item-link" href="NEED TO GET THIS PART">AND THIS PART</a>

我尝试了所有三种正则表达式模式,但似乎没有一种对我有帮助

preg_match_all("/<a.*(?:[^class=\"item-link\"=]*)class=\"item-link\"(?:[^href=]*)href=(?:'|\")?(.*)(?:'|\")(?:[^>]*)>(.*)<\/a>/", $content, $tablecontent);
preg_match_all("|/<a (?:[^href=]*)href=(?:'|\")?(.*)(?:'|\")(?:[^>]*)>(.*)<\/a>/|s", $content, $tablecontent); 
preg_match_all("|/<a.+class=\"item-link\".+href=\"(.*)\"[^>]*>\.+<\/a[^>]*>/|m", $content, $tablecontent);
print_r($tablecontent);
preg\u match\u all(“/试试这个:

preg_match('/<a class="item-link" href="([^"]+)">([^<]+)<\/a>/', $content, $matches);

preg_match('/这是正确的方法:

$html = '<a class="item-link" href="NEED TO GET THIS PART">AND THIS PART</a>';

$dom = new DOMDocument();
$dom->loadHTML($html);

$xp = new XPath($dom);

$results = $xp->query('//a[class="item-link"]');

foreach ($results as $link) {
   $href = $link->getAttribute('href');
   $text = $link->nodeValue;

   ... do your stuff here ...
}
$html='';
$dom=新的DOMDocument();
$dom->loadHTML($html);
$xp=newxpath($dom);
$results=$xp->query('//a[class=“item link”]');
foreach($results as$link){
$href=$link->getAttribute('href');
$text=$link->nodeValue;
…在这里做你的事。。。
}

对于单个链接来说,这是一种过分的技巧,但在处理整个HTML页面时,这是最简单的方法。

不要使用正则表达式,使用HTML解析器。问题的背景是什么?如果你想解析HTML,那么就使用HTML解析器。HTML解析器…我不熟悉。我试图编写上述代码,但可以找到它来解决():未知修饰符“a”inI修复了此问题…抱歉。我忘记在/in前面添加\了。您是否认为您试图匹配的内容正是您指定的格式?如果有更多空格或其他属性,则我提供的正则表达式将不起作用。您输出的变量是什么?匹配将以$m为单位我试过了,效果很好。