日期:2014-05-17 浏览次数:20670 次
preg_match('/<a([\s\S]*)href=(["\']?)([\s\S]*)\1\sid([\s\S]*)</a>/i', $str, $matches)
$str=<<<STR
<a class="a" href="http://www.baidu.com/" id="a1">连接1</a>
<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/ id="a3">连接3</a>
STR;
preg_match_all('/<a[^>]+href=(["\']?)([^\s"\']+)\1[^>]*>/',$str,$matches);
print_r($matches[2]);
------解决方案--------------------
$str=<<<html
<div class="a" href="http://www.baidu.com/" id="a1">连接1</a>
<div class="a" href='http://www.baidu.com/' id="a2">连接2</a>
<div class="a" href=http://www.baidu.com/ id="a3">连接3</a>
html;
preg_match_all('/href=(["\'])?([^\s"\']+)/is', $str, $matches) ;
print_r($matches);
------解决方案--------------------
[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/"
[1] => <div class="a" href='http://www.baidu.com/'
[2] => <div class="a" href=http://www.baidu.com/
)
[1] => 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</a>
<div class="a" href='http://www.baidu.com/' id="a2">连接2</a>
<div class="a" href=http://www.baidu.com/ id="a3">连接3</a>
EOF;
preg_match_all('/<div class="a" href=(["\']?)([^\s\'"]*)\1/is', $str, $matches);
print_r($matches);
?>