preg_match_all从<a href="" with="" class=""

时间:2016-05-30 10:53:58

标签: preg-match-all

="" I was in tourble on my simple project...

I'm trying to grab all the links from tag a href tag, but my problem is that the links also have other attributes, that is class.

This the source structure:

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

What i tried so far is:

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

For result, i want to get the link http://www.aabbcc.com/post//tank-farm-good-be获取链接

...谢谢

1 个答案:

答案 0 :(得分:0)

你的正则表达式中有一个额外的空间:

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

Juste将其删除:

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
        )

)