PHP正则表达式
来源:互联网 发布:stm8单片机视频教程 编辑:程序博客网 时间:2024/06/06 18:49
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
今天碰到一个问题,
1、preg_match_all只能匹配一次,最后加了个m参数就好了,发现原来字符串有换行
2、然后^字符是从后面的开始,如果字符串不是从这个后面的字符开始的就匹配不到了,不要每一个正则表达式就用上“^,$”字符,仅在需要以某字符开始,某字符结束的时候再使用,否则匹配不到!
一个采集的案例:
<?php
$ch = curl_init(); //初始化
$url='http://3dkb.cnhubei.com/kaijiang/default.aspx?type=2s&qi=07111';
curl_setopt($ch, CURLOPT_URL, $url);//你要访问的页面
curl_setopt($ch, CURLOPT_REFERER,'http://3dkb.cnhubei.com'); //伪造来路页面
curl_setopt($ch,
$str=curl_exec($ch);//执行
header("Content-Type:text/html;charset=utf-8");
function preg_substr($start, $end, $str) //正则截取函数
{
}
function str_substr($start, $end, $str) //字符串截取函数
{
}
$str0=preg_substr("/<tablecellspacing=\"0\" cellpadding=\"4\" border=\"0\"id=\"GridView1\"/", "/<\/table>/",$str);
preg_match_all("/<td\s+align=\"center\"><font\s+color=\".*?\">([^<]+)<\/font><\/td>/m",$str0,$str1);
print_r($str1);
curl_close($ch); //返回关闭
?>
第二个采集案例:
<?php
{dede:imgddimg=\'/dedegbk/uploads/allimg/130516/1-1305160ZH1-50.jpg\'text=\'\' width=\'800\' height=\'1140\'}/dedegbk/uploads/allimg/130516/1-1305160ZH1-50.jpg {/dede:img}{dede:imgddimg=\'/dedegbk/uploads/allimg/130516/1-1305160ZH1-51.jpg\'text=\'\' width=\'800\' height=\'1140\'}/dedegbk/uploads/allimg/130516/1-1305160ZH1-51.jpg{/dede:img}";
preg_match_all("/\}([^\{]*\.jpg)[\s]*\{/",$str,$matches);
print_r($matches[1]);
?>
第三个采集案例:
<?
//$url=isset($_GET['url'])?trim($_GET['url']):'';
//echo $url;
$url='http://v.youku.com/v_show/id_XNDk4NzIxOTI4.html';
if(strpos($url,'youku')){
if(!$content = @file_get_contents($url))
{
return "error";
}
else{
//$regexstr = '/<liclass="v_thumb"><[img|IMG].*?[src|SRC]=[\'|\"](.*?(?:[\.gif|\.jpg|jpeg|png]))[\'|\"].*?\S*<\/li>/i';
$regexstr = '/<liclass="v_thumb"><[img|IMG].*?[src|SRC]=[\'|\"](.*?)[\'|\"].*?\S*<\/li>/i';
$regexnum = preg_match($regexstr,$content,$matches);
print_r($matches);
}
}
else{
exit('不允许访问');
}
?>
- php的正则表达式
- PHP 正则表达式资料
- PHP 正则表达式
- php正则表达式介绍
- PHP 正则表达式资料
- php之正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式实例
- PHP正则表达式收集
- PHP正则表达式收集
- PHP正则表达式
- PHP中的正则表达式
- PHP中的正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式详解
- PHP正则表达式
- C/S 与 B/S 区别
- AC自动机 UVa11468
- cocos2d-x 2.1.4 使用python 创建项目指令:记录
- 利用hadoop mapreduce 做数据排序
- Qt一些小问题的解决方案
- PHP正则表达式
- THINKPHP RBAC
- android 项目编码修改,&nbsp…
- DEDECMS后台权限判定
- 安卓中事件绑定的写法
- PagerAdapter跟BaseAdapter的覆盖
- android上下文之间参数的传递与接…
- AJAX分页以及IFRAME载入
- settag跟gettag的两种用法