当前位置: 首页 > 图文教程 > 网络编程 > PHP > 请php正则走开

PHP
PHP 执行系统外部命令 system() exec() passthru()
最新的php 文件上传模型,支持多文件上传
php 静态页面中显示动态内容
数据库查询记录php 多行多列显示
谈PHP生成静态页面分析 模板+缓存+写文件
PHP 各种排序算法实现代码
PHP nl2br函数 将换行字符转成 <br>
php 分页原理详解
Discuz 模板语句分析及知识技巧
php win下Socket方式发邮件类
怎样去阅读一份php源代码
建站常用13种PHP开源CMS比较
php xml留言板 xml存储数据的简单例子
PHP 开源AJAX框架14种
PHP 替换模板变量实现步骤
PHP has encountered an Access Violation at 7C94BD02解决方法
php 正则匹配函数体
php 文件夹删除、php清除缓存程序
php download.php实现代码 跳转到下载文件(response.redirect)
PHP类(Class)入门教程

PHP 中的 请php正则走开


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 259 ::
收藏到网摘: n/a

玩PHP玩了几年了,在刚刚接触PHP的时候感觉正则真的很洋气,我想替换啥就替换啥。然而随着工作的推移,渐渐对正则开发反感起来,正则的速度太慢了,而且特占内存。在一个群里有个网友说,正则速度快,正则简单,正则开发效率高。我并没有与他争辩,因为我刚刚做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自带的函数你能够解决大部分问题。