preg_replace正则表达式的使用
<?php
$str="as2223adfsf0s4df0sdfsdf";
echo preg_replace("/0/","",$str);//去掉0字符,此时相当于 replace的功能, preg_replace("/0/","A",$str); 这样就是将0变成A的意思了
echo preg_replace("/[0-9]/","",$str);//去掉所有数字
echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母
echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母
echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母
$str="as2223adfsAAf0s4df0s中国人dD中南海DDfsdf";
echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和数字
?>
经过以上的例子,相信大家知道,[ ] 和里面的,有什么作用了。也可以看到,匹配的字符串必须加 / /(看例子的第一个参数) <?php
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.*>/","",$str); //这个是表示去除以<开头,以>结尾的那部份,输出结果是:acsdcssdcd
注意:上面的 .* 是表示任何字符,也就是说不管<>包住的是什么都去掉其中. 表示任意字符, * 表示任意个数 现在我们来改动一下,如果不想是任何个数呢?
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.{4}>/","",$str); //此时输出:acsdcs<55555555>scsdcd因为{4}指定了条件:<>内为4个字符的才满足条件,所以<55555555>不符合条件,没有被替换。 注意:这时我们又学到了一个知识点{数字} 表示指定前面的个数,*就表示是任意个(0--无限个) 表示重复次数的除了 *, {指定次数} 表示,还有很多表达形式: <?php
$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]*>/","",$str);
//输出acsdcscd
echo "<hr>";
echo preg_replace("/<[0-9]+>/","",$str);
//输入acsdcsscsd<>cd
?> 上面的例子只要是为了 表达 * 与+的区别 ,* 表示重复0数或n 次,而+ 表示1次以上,即一例中<[0-9]+ >表示<>里面至少要有一个数字才符合条件。 相信这时大家知道,为什么上例中用* 和用+输出的结果不同了吧 再来: <?php
$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]?>/","",$str);
//输出acsdcs<55555555>sc<6666>sdcd
?> 看[0-9]? 这里的?表示要是0次或1 次,超过1次又不符合条件了。
总结一下,上面我们学会了 * + ? 和大括号{}表示重复次数的方法。 ---------------------------------------------------------------------------------------------------- $s=preg_replace("/(.*?[月票|求|更].*?)/i","",$s);
preg_match_all('/href=\"([0-9]+)\.shtm">(.+?)<\/a>/i',$s,$arr_dstorycate);
print_r($arr_dstorycate); ---------------------------------------------------------------------------------------------------- preg_match_all("/<img.*?src=[\\\'| \\\"](.*?(?:[\.gif|\.jpg]))[\\\'|\\\"].*?[\/]?>/i",$content,$arr_dstorycate);
print_r($arr_dstorycate);
preg_replace正则表达式的使用的更多相关文章
- PHP函数preg_replace() 正则替换所有符合条件的字符串
PHP preg_replace() 正则替换,与JavaScript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. preg_replace (正则表达式 ...
- PHP preg_replace() 正则替换所有符合条件的字符串示例
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. 需要用程序处理的数据并不总是预先以数 ...
- PHP中的正则表达式函数preg_
preg_match(); //用于正则表达式的匹配,且只匹配一次 preg_match_all();//用于正则表达式的匹配,会对所有符合规则的都进行匹配 preg_replace(); ...
- htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站
看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...
- 检测php网站是否已经被攻破的方法
0x01 查看访问日志 看是否有文件上传操作(POST方法), IPREMOVED - - [01/Mar/2013:06:16:48 -0600] "POST/uploads/monthl ...
- phpwind9.0升级到php7后出现的问题修复
最近将一个两年多以前的用phpwind9.0搭建的论坛升级到php7,遇到了页面无法打开,显示为500错误,排查了一整天时间,终于解决! 1.打开文件:src/applications/appcent ...
- DVWA-XSS学习笔记
DVWA-XSS XSS概念:由于web应用程序对用户的输入过滤不严,通过html注入篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击. XSS类型: 反射型XSS:只是简单地把 ...
- PHP模板解析入门
学习:李炎恢PHP视频第二季 模板引擎的特点: 1.鼓励分离:让更个系统的可读性和维护性得到提高. 2.促进分工:使得程序员和美工去专心处理自己的设计. 3.比PHP更容易解析:编译文件和缓存文件加载 ...
- php如何实现把多平台文件中所有的行合成一行?
php如何实现把多平台文件中所有的行合成一行? 一.总结 1.str_replace中的数组替换:str_replace(array("/r","/n",&qu ...
随机推荐
- redis添加systemctl服务
1.编辑systemctl服务配置文件 vim /lib/systemd/system/redis.service 2.内容如下 [Unit]Description=RedisAfter=networ ...
- Java 存储和读取 oracle CLOB 类型字段的实用方法
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.Str ...
- hdu 4857 Little Devil I
http://acm.hdu.edu.cn/showproblem.php?pid=4897 题意:给你一棵树,边的颜色要么为白色,要么为黑色,初始每条边为白色,有三种操作 1.将u-v链上面的所有边 ...
- 优雅地搭建整合ssm项目
spring + spring mvc + mybatis 三大框架建议观看 黑马程序员出品的 Springmvc+Mybatis由浅入深全套视频教程 Spring框架2016版视频 观看顺序 ,我个 ...
- nodejs安装zmq出错
想用zmq来做进程间通信,在Windows下.Centos下安装成功.记录如下: 一.Windows安装zmq 直接 npm install zmq 成功就成功. 不成功的话估计是报"未能 ...
- R9—R常用函数分类汇总
数据结构 一.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 ...
- 第9月第15天 设计模式 adapter mvc
1. 有一道iOS面试题,iOS中都有什么设计模式?很少有答案说包括adapter. gof 书中adapter模式有以下内容: 实现: ... b ) 使 用 代 理 对 象 在这种方法中, T r ...
- android ViewPager之PagerAdapter中View的重用
在写PagerAdapter的时候,需要重写instantiateItem(ViewGroup container ,int position) 此方法中,将需要加载的View,添加到conta ...
- 【译】Asp.Net Identity与Owin,到底谁是谁?
送给正在学习Asp.Net Identity的你 :-) 原文出自 trailmax 的博客AspNet Identity and Owin. Who is who. Recently I have ...
- 008_MAC 终端使用技巧
一.常用终端命令. <1>reset 的作用很简单——将目前「终端」屏幕上的内容清空,就好像刚刚打开终端一样. <2>如果你在一条终端命令中发现有输入错误的话,那么用 cont ...