preg_match_all 使用 Class 从 <a href="" 获取链接

preg_match_all Get links from <a href="" with Class

我在我的简单项目中陷入困境...

我试图从一个 href 标签中获取所有 link,但我的问题是 link 还有其他属性,即 class。

此源结构:

<a class="coolCard project-card " href="http://www.aabbcc.com/post//tank-farm-good-be" id="2568">

到目前为止我尝试的是:

preg_match_all('/<a\s*class=\"coolCard \s[^\>]*\"\s*href=([\'"])(.*?)\1/is', $wordString, $links);

对于结果,我想得到 link http://www.aabbcc.com/post//tank-farm-good-be

谢谢....

您的正则表达式中有一个额外的 space:

preg_match_all('/<a\s*class=\"coolCard \s[^\>]*\"\s*href=([\'"])(.*?)\1/is', $wordString, $links);
//                             here __^   

只需删除它:

preg_match_all('/<a\s*class=\"coolCard\s[^\>]*\"\s*href=([\'"])(.*?)\1/is', $wordString, $links);

.

$wordString = '<a class="coolCard project-card " href="http://www.aabbcc.com/post//tank-farm-good-be" id="2568">';
preg_match_all('/<a\s*class=\"coolCard\s[^\>]*\"\s*href=([\'"])(.*?)\1/is', $wordString, $links);
print_r($links);

输出:

Array
(
    [0] => Array
        (
            [0] => <a class="coolCard project-card " href="http://www.aabbcc.com/post//tank-farm-good-be"
        )

    [1] => Array
        (
            [0] => "
        )

    [2] => Array
        (
            [0] => http://www.aabbcc.com/post//tank-farm-good-be
        )

)