请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() 默认就是替换所有符号匹
随机推荐
- 基于JS实现网页中的选项卡(两种方法)
- IE浏览器增加“复制图像地址”的右键菜单的vbs代码
- Java 进程执行外部程序造成阻塞的一种原因
- Js日期选择器并自动加入到输入框中示例代码
- Yii框架扩展CGridView增加导出CSV功能的方法
- 直接在线预览Word、Excel、TXT文件之ASP.NET
- C语言实现在数组A上有序合并数组B的方法
- 原生JS实现小小的音乐播放器
- js监听表单value的修改同步问题,跨浏览器支持
- MyBatis SqlMapConfig.xml配置
- 零基础写python爬虫之抓取百度贴吧代码分享
- 扩展easyui.datagrid,添加数据loading遮罩效果代码
- JS模仿MSN右下角弹出提示框代码
- 告诉什么是网站主机提供商
- Android TCP 文件客户端与服务器DEMO介绍
- java复制文件和java移动文件的示例分享
- C#词法分析器之转换DFA详解
- C#中正则表达式与回车换行符问题
- 浅谈python标准库--functools.partial
- 通过layer实现可输入的模态框的例子