请php正则走开

yipeiwu_com7年前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 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个...

php判断是否为ajax请求的方法

本文实例讲述了php判断是否为ajax请求的方法。分享给大家供大家参考,具体如下: 先说前端使用 jQuery 时怎么区分: jQuery 发出 ajax 请求时,会在请求头部添加一个名...

php XPath对XML文件查找及修改实现代码

复制代码 代码如下: <?php /* <?xml version="1.0" encoding="utf-8"?> <article> <item&...

解析如何用php screw加密php源代码

在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了。为了保住自己的劳动成果,我一直寻找一种可以加密php代...

php观察者模式应用场景实例详解

本文实例讲述了php观察者模式的应用。分享给大家供大家参考,具体如下: <?php /** * 观察者模式应用场景实例 * * 免责声明:本文只是以哈票网举例,示...