请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使用PDO操作sqlite数据库应用案例

本文实例讲述了PHP使用PDO操作sqlite数据库。分享给大家供大家参考,具体如下: 1、需求: 已知: 1)、一个json文件,里面是一个二维数组,数组解析出来为: array...

用PHP ob_start()控制浏览器cache、生成html实现代码

输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让...

PHP定时执行任务的3种方法详解

PHP定时执行任务的3种方法详解

PHP定时执行的三种方式实现 1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新 具体实现 1、windows计划任务 PHP很少...

discuz的php防止sql注入函数

最近在做一个主题投票网站,客户懂一些程序方面的东西。有特别要求需要过滤一些字符防止sql注入。本来这方面就没有特别的研究过。呵呵,又发扬了一回拿来主义。把discuz论坛的sql防注入函...

Ajax+PHP实现的分类列表框功能示例

Ajax+PHP实现的分类列表框功能示例

本文实例讲述了Ajax+PHP实现的分类列表框功能。分享给大家供大家参考,具体如下: 一 代码 conn.php: <?php $conn = mysql_conn...