php 正则表达式,用于获取 href 标记内的字符串

2022-08-31 00:02:18

我需要一个正则表达式,它将在href标签内和引号内为我提供字符串。

例如,我需要提取以下内容中的 theurltoget.com:

<a href="theurltoget.com">URL</a>

此外,我只想要基本网址部分。即从我只想http://www.mydomain.com/page.htmlhttp://www.mydomain.com/


答案 1

不要为此使用正则表达式。您可以使用 xpath 和内置的 php 函数来获取所需的内容:

    $xml = simplexml_load_string($myHtml);
    $list = $xml->xpath("//@href");

    $preparedUrls = array();
    foreach($list as $item) {
        $item = parse_url($item);
        $preparedUrls[] = $item['scheme'] . '://' .  $item['host'] . '/';
    }
    print_r($preparedUrls);

答案 2
$html = '<a href="http://www.mydomain.com/page.html">URL</a>';

$url = preg_match('/<a href="(.+)">/', $html, $match);

$info = parse_url($match[1]);

echo $info['scheme'].'://'.$info['host']; // http://www.mydomain.com

推荐