zoukankan      html  css  js  c++  java
  • php 根据白名单替换字符转中的链接 封装的函数

    function doreplace($str){
    global $api,$empire,$class_r,$dbtbpre,$public_r;

    // $list = $api->select("ecms_news");
    // $urllist = $api->select("ecms_news_allow_weburl");
    // // print_r($urllist);
    $text=Repurl($str);
    // print_r($text);
    $exp1="[--copyurl--]";
    $exp2="[/--copyurl--]";
    $rr=explode($exp1,$text);
    $j=1;
    for($i=1;$i<count($rr);$i++)
    {

    $r1=explode($exp2,$rr[$i]);

    $dourl=$r1[0];
    // echo $dourl."<br>";
    $one = $empire->fetch1("select * from {$dbtbpre}ecms_news_allow_weburl where url='{$dourl}'");
    // print_r($one);

    if(!$one){
    $text = str_replace($exp1.$dourl.$exp2,'网址未加载',$text);
    }else{
    $text = str_replace($exp1.$dourl.$exp2,$dourl,$text);
    }
    }
    // exit('123');
    return $text;
    }


    //替换图片标签
    function Repurl($text){
    global $ecms_config;
    $exp1="[--copyurl--]";
    $exp2="[/--copyurl--]";

    $pattern="/[.]{1}[a-zd-]+[.]{1}[a-zd]*/";
    // $pattern="/[.]{1}[a-zd-]+[.]{1}[a-zd]*[/]*[A-Za-zd]*[/]*[A-Za-zd]*/";//匹配域名后整个链接
    $text = preg_replace($pattern,$exp1."${0}".$exp2,$text);
    return $text;
    }

  • 相关阅读:
    (五)Redis在项目中应用
    股票收益最大问题
    (四)redigo
    (三)go-sql-driver
    为什么TCP要3次握手?4次挥手?
    分支预测
    事务隔离级别说明
    剑指offer解题思路锦集11-20题
    C++中的二义性问题
    memcached Vs redis
  • 原文地址:https://www.cnblogs.com/songadmin/p/14252529.html
Copyright © 2011-2022 走看看