请php正则走开
好了,那么我出几个题,不用正则,看我怎么解决的。
1.清除HTML中所有的标签,只保留超级链接。
我用strip_tags。
strip_tags($data,$tags)
$data为字符串,$tags为保留的标签。
strip_tags($data,'<a>')即可。完了?对,就那么简单。
如果我还想保留<img>,则strip_tags($data,'<a><img>')
2.截取$str中从$str1到$str2中间的字符串的第一个匹配。
function str_cut($str ,$start, $end) {//取出第一个匹配,效率最高
$content = strstr( $str, $start );
$content = substr( $content, strlen( $start ), strpos( $content, $end ) - strlen( $start ) );
return $content;
}
3.截取$str中从$str1到$str2中间的字符串的所有匹配。
function my_Ca($content,$start,$end){//取出所有匹配,不包含开始和结束字符串
$m = explode($start,$content);
$a = array();
$sum = count($m);
for( $i = 1;$i < $sum;$i++ )
{
$my = explode($end,$m[$i]);
$a[] = $my[0];
unset($my);
}
return $a;
}
总结:你只要多想多总结,不用正则,用PHP自带的函数你能够解决大部分问题。
相关推荐
-
请php正则走开
好了,那么我出几个题,不用正则,看我怎么解决的. 1.清除HTML中所有的标签,只保留超级链接. 我用strip_tags. strip_tags($data,$tags) $data为字符串,$tags为保留的标签. strip_tags($data,'<a>')即可.完了?对,就那么简单. 如果我还想保留<img>,则strip_tags($data,'<a><img>') 2.截
-
一个非常不错的一个正则练习JS版
技术含量不高,主要是平时使用正则多了,在代码上调试太麻烦了,干脆做这个来试比较快~~~送给那些喜欢正则的朋友~~~ 做得头晕脑涨,实在找不出几个正则例子来给新手学习,所以现在俺里面的帮助文件里面也才三个例子而以! 由于本人的语言表达实在不怎么样,而以材料一个人制作麻烦,希望有热心人士提供经典的正则例子,最好附上详解,以便新手学习! 无殇 - 正则练习器 window.onerror=function(a,b,c){alert("发生未知错误:"+a+"\n第"+c+
-
无殇 javascript正则练习器
简单修正版本,对于带函数的替换暂时无法完成,普通替换已经可以了http://www.jb51.net/tools/regex_test.htm 无殇 - 正则练习器 window.onerror=function(a,b,c){alert("发生未知错误:"+a+"\n第"+c+"行")} 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作
-
python基础之贪婪模式与非贪婪模式
# 贪婪模式 默认的匹配规则 # 在满足条件的情况下 尽可能多的去匹配到字符串 import re rs = re.match('\d{6,9}', '111222333') print(rs.group()) # 非贪婪模式 在满足条件的情况下尽可能少的去匹配 rs = re.match('\d{6,9}?', '111222333') print(rs.group()) import re content='aacbacbc' pattren=re.compile('a.*b') resul
-
JavaScript正则方法replace实现搜索关键字高亮显示
前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 先介绍一下正则表达式的replace方法 replace介绍 w3school原文链接介绍 正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键, var str = "asad sad 123 sd qwe21"; str.replace(/\d+/img,"数
-
利用正则表达对IP进行排序的实现代码
1.补零,使得可以按照字符串顺序进行比较. 2.截取保留后三位(ip地址最多就3位). 3.利用Arrays.sort()方法对截取的字符串进行排序.. 4.去除多余的0,回复ip原样. 5.实现代码: package IPSort; import java.util.Arrays; /** * 利用正则表达对IP进行排序,分四步 * @author tiger * */ public class IPSortTest { public static void main(String[] arg
-
正则表达式创建方式的区别及编写简单的正则方式(js学习总结)
在字面量方式中,我们//之间包起来的所有的内容都是元字符,有的具有特殊意义,大部分都是代表本身含义的普通的元字符 var name = 'wo'; var reg = /^\d+"+name+"\d+$/ 为了解决上述想在正则里面加上一个变量这样的需求,我们只能使用实例创建的方式了 var reg = new RegExp("^\\d+"+name+"\\d+$","g") 字面量方式和实例创建的方式在正则中的区别? 1.字面
-
JS使用正则控制用户输入银行卡号及格式化
//js正则实现用户输入银行卡号的控制及格式化 <script language="javascript" type="text/javascript"> function formatBankNo (BankNo){ if (BankNo.value == "") return; var account = new String (BankNo.value); account = account.substring(0,22); /
-
JS利用正则配合replace替换指定字符
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) 参数 描述 regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值 一个新的字符串,是用 repl
-
PHP preg_replace() 正则替换所有符合条件的字符串
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹
随机推荐
- Android修改字体样式的示例代码
- php使用ZipArchive函数实现文件的压缩与解压缩
- JavaScript中各种引用类型的常用操作方法小结
- 巧用DOS命令合并多个文本文件的内容
- SpringMvc+Mybatis+Pagehelper分页详解
- ASP.NET MVC重写RazorViewEngine实现多主题切换
- Ajax+PHP 边学边练之四 表单
- 我的Node.js学习之路(一)
- 使用Bash Shell对目录中的文件实现递归式拷贝
- Java实现对一行英文进行单词提取功能示例
- 网站如何做到完全不需要jQuery也可以满足简单需求
- PHP反射机制原理与用法详解
- Windows系统安装Oracle 11g 数据库图文教程
- 必须要懂的win2003服务器上的asp站点安全设置
- JAVA垃圾收集器与内存分配策略详解
- Android 监听Notification 被清除实例代码
- Java编程实现轨迹压缩之Douglas-Peucker算法详细代码
- 详解linux电源管理驱动编写
- 从零开始用electron手撸一个截屏工具的示例代码
- JS中call()和apply()的功能及用法实例分析