请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查找数组中只出现一次的数字实现方法。分享给大家供大家参考,具体如下: 问题: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数...

PHP获取文件夹大小函数用法实例

本文实例讲述了PHP获取文件夹大小函数用法。分享给大家供大家参考。具体如下: <?php // 获取文件夹大小 function getDirSize($dir)...

php实现的RSS生成类实例

本文实例讲述了php实现的RSS生成类。分享给大家供大家参考。具体如下: class RSS { var $title; var $link; var $description...

PHP实现对站点内容外部链接的过滤方法

熟悉SEO的朋友都知道,对于网站外部链接失效的情况如果链接带有rel="nofollow"属性可以避免不必要的损失。本文就以实例形式演示了PHP实现对站点内容外部链接的过滤方法。具体如下...

PHP信号处理机制的操作代码讲解

我们首先来看下实例代码: function sig_handler($sig) { print("handled sig: $sig\n"); } pc...