正则匹配问题 求指教 本帖最后由 laoyanang 于 2012-06-09 12:57:19 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $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);Array( [0] => Array ( [0] => href="http://www.baidu.com/ [1] => href='http://www.baidu.com/ [2] => 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: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);?> php中分页显示的问题 $_GET["page"]为空 关于 跨域传值的问题 对了,有一个很有深度的图片问题 $$name和"$$name"的区别 php 删除文件问题 捕获上传地址 php怎么定位目录 B/S模式下如何进行客户端绑定? php curl 有验证码 模拟登陆的问题 初级问题: !$变量名 总提示 undefinded PHP绘制文字程序出错,求解 PHP脚本导入SQL文件自动终止问题
<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]);
<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);
Array
(
[0] => Array
(
[0] => href="http://www.baidu.com/
[1] => href='http://www.baidu.com/
[2] => 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/
))
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);
?>