Php preg_match查找指向图像和url的链接

Php preg_match查找指向图像和url的链接,php,preg-match,Php,Preg Match,我正在尝试使用preg_match查找其中提到的URL和标记,以便用更新的域名替换它们。现在我只是想在href标签中找到搜索脚本,以便打印找到的URL。以下是我所拥有的: $matches = array(); $search="domain.com"; preg_match('|(<a\s*[^>]*href=[\'"]?)|',$prod['value'],$matches); echo '<p>'.$matches[1].'</p>'; $matche

我正在尝试使用preg_match查找其中提到的URL和标记,以便用更新的域名替换它们。现在我只是想在href标签中找到搜索脚本,以便打印找到的URL。以下是我所拥有的:

$matches = array();
$search="domain.com";
preg_match('|(<a\s*[^>]*href=[\'"]?)|',$prod['value'],$matches);
echo '<p>'.$matches[1].'</p>';
$matches=array();
$search=“domain.com”;
preg_match(“|”(]*href=[\'”]?)|’,$prod['value'],$matches);
回显“”.$matches[1]。

”;
$prod['value']
指的是我试图筛选的内容

您的代码
  • -启动捕获组
  • href=
    -匹配
    href=
  • ['”]?
    -可选地匹配
    '
  • -结束捕获组

这一切都意味着,根据示例输入运行您的正则表达式将匹配
可能重复的Wow谢谢Steven。您的解释非常透彻。我会尝试一下并让您知道。我想知道您是否可以给我指一个您了解正则表达式的资源。我想阅读一下,以便我可以n更好地理解它。-这是一个很好的参考资料单击顶部的“教程”,您将找到从基本的字符类到更高级的东西(如
lokarounds
etc@Steven谢谢你的解释!!
$matches = array();
$search="domain.com";
preg_match('|(<a\s*[^>]*href=[\'"]?)|',$prod['value'],$matches);
echo '<p>'.$matches[1].'</p>';
(<a\s*[^>]*href=['"]?)
/**
Output from:

preg_match_all('|(<a\s*[^>]*href=[\'"]?)|', $string, $matches);
var_dump($matches);

*/
array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(9) "<a href=""
    [1]=>
    string(28) "<a class="fancyStyle" href=""
  }
  [1]=>
  array(2) {
    [0]=>
    string(9) "<a href=""
    [1]=>
    string(28) "<a class="fancyStyle" href=""
  }
}
#<a\s.*?(?:href=['"](.*?)['"]).*?>#is
preg_match_all('#<a\s.*?(?:href=[\'"](.*?)[\'"]).*?>#is', $string, $matches);
var_dump($matches);

/**
array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(34) "<a href="http://www.google.co.uk">"
    [1]=>
    string(65) "<a class="fancyStyle" href="http://www.youtube.com" id="link136">"
  }
  [1]=>
  array(2) {
    [0]=>
    string(23) "http://www.google.co.uk"
    [1]=>
    string(22) "http://www.youtube.com"
  }
}

*/
$string = <<<EOC
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title of page</title>
    </head>
    <body>
        <h1>Main Page title</h1>
        <p>
            The following is a <a href="http://www.google.co.uk">link to google</a>.
            This is <a class="fancyStyle" href="http://www.youtube.com" id="link136">another link</a>
        </p>
    </body>
    </html>
EOC;