>백엔드 개발 >PHP 튜토리얼 > 正则匹配有关问题 求指教

正则匹配有关问题 求指教

WBOY
WBOY원래의
2016-06-13 13:28:041058검색

正则匹配问题 求指教
获取一个A标签的Href属性

被匹配的字符

连接1
连接2
连接3


可以没有引号 可以有双引号 单引号 但是不允许一侧有引号另一侧没有引号

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->preg_match('/<a>/i', $str, $matches)

</a>



这样怎么不行呢

------解决方案--------------------
PHP code
$str=连接1
<a class="a" href="http://www.baidu.com/" id="a2">连接2</a>
<a class="a" href="http://www.baidu.com/" id="a3">连接3</a>
<a class="a" href="http://www.baidu.com/%20id=" a3>连接3</a>
STR;

preg_match_all('/<a>]+href=(["\']?)([^\s"\']+)\1[^>]*>/',$str,$matches);
print_r($matches[2]);
<br><font color="#e78608">------解决方案--------------------</font><br>
<dl class="code">PHP code<pre class="brush:php;toolbar:false">
$str=连接1
连接2
连接3 html; preg_match_all('/href=(["\'])?([^\s"\']+)/is', $str, $matches) ; print_r($matches);
------解决方案--------------------
PHP code
[User:root Time:14:14:52 Path:/home/liangdong/php]$ php preg.php 
Array
(
    [0] => Array
        (
            [0] => <div class="a" href="http://www.baidu.com/"> <div class="a" href="http://www.baidu.com/"> <div class="a" href="http://www.baidu.com/"> Array
        (
            [0] => "
            [1] => '
            [2] => 
        )

    [2] => Array
        (
            [0] => http://www.baidu.com/
            [1] => http://www.baidu.com/
            [2] => http://www.baidu.com/
        )

)
[User:root Time:14:14:53 Path:/home/liangdong/php]$ cat preg.php 
<?php $str = <<<EOF
<div class="a" href="http://www.baidu.com/" id="a1">连接1
<div class="a" href="http://www.baidu.com/" id="a2">连接2
<div class="a" href="http://www.baidu.com/" id="a3">连接3
EOF;
preg_match_all('/<div class="a" href="(%5B%22%5C'%5D?)(%5B%5E%5Cs%5C'%22%5D*)%5C1/is'," print_r> <div class="clear">
                 
              
              
        
            </div>
</div>
</div>
</div>
</div>
</div>
</div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.