请php正则走开

yipeiwu_com6年前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数组的概述及分类与声明代码演示

复制代码 代码如下:<?php /** ** 一数组的概述 1.数组的本质:管理和操作一组变量,成批处理 2.数组是复合类型 3.数组中可以存储任意长度的数据。也可以存储任意类型的...

php adodb连接mssql解决乱码问题

周海汉/文ADO可以用 new COM("ADODB.Connection", NULL, CP_UTF8)//65001 这样的语句来实现正确转换。但ADO对php的支持缺乏文档。而有...

PHP 批量下载一系列小型文件 函数

在工作时找素材是一个特别费时间的事情,有时要下载一系统的小图片,或者小文档、小视频,只要文件命名有规则,就可以通过PHP来批量下载下来,速度比较快,可以省下不少时间的。此处理方式,不适合大文件下载哦。...

两款万能的php分页类

本文为大家分享个超级好用、万能的php分页类,具体的实现代码如下 第一款php分页类 <?php /* * To change this template, choo...

Linux下实现PHP多进程的方法分享

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数) 函数参考可见:http://www.php.net/manual/zh/ref....