php正則替換 某些字符串,html替換某些標簽,Thinkphp3升級Thinkphp5替換模版標簽


 雖然Thinkphp5可以更改HTML模版標簽,的前后字符,

 但是又沒搜到相關的正則替換某些字符串,所以就看了下正則相關文檔,分享給大家吧!

  

<?php  
/*/Public/Home/default/re.php
文本替換 小工具
QQ496631085
XiaoHe
*/
    
    //打印變量標簽好調試
    function p($data){
        if(is_array($data)){
            var_dump($data);
        }else{
            echo '<br>'.$data.'<br>';
        }
    }

    //分割后綴
    function getExt2($filename){
       $ext = strrchr($filename,'.');
       return $ext;
    }
    

    function re_tihuan($val){
    /*
    preg_replace 正則替換
    strip_tags() 函數剝去字符串中的 HTML、XML 以及 PHP 的標簽。
    */

        // <block name="page-style">
        $newval=preg_replace('/(\<)(block .*?)(\>)/','{$2}',$val);
        // 替換結果{block name="page-style"}
    
        
        
        // <extend name="System:base"/>
        $newval=preg_replace('/(\<)(extend .*?)(\:)(.*?)(\>)/','{$2_$4}',$newval);
        // 替換結果 {extend name="System_base"/}


        // <volist name="data.list" id="vo">
        $newval=preg_replace('/(\<)(volist.*?)(\>)/','{$2}',$newval);
        // 替換結果{volist name="data.list" id="vo"}


        // <empty name="data.list">
        $newval=preg_replace('/(\<)(empty.*?)(\>)/','{$2}',$newval);
        //替換結果 {empty name="data.list"}
        return $newval;
    }
    
    function tihuan1($val)
    {//替換內容
        $list=[
        //     '<block name="page-style">'=>'{block name="page-style"}',
        // '<block name="page-style-detail">'=>'{block name="page-style-detail"}',
        // '<block name="page-content">'=>'{block name="page-content"}',
        '</block>'=>'{/block}',
        '</volist>'=>'{/volist}',
        '</empty>'=>'{/empty}'
        ];
          $content=$val;
        foreach ($list as $old => $new) {
              $content=str_replace($old,$new,$content);
          }
      echo('____________________________________________________________<br><br><br><br>');
      return $content;
    }



    //獲取當前文件所在的絕對目錄
    $dir =  dirname(__DIR__)."\application\console\\view";
    // p($dir);
    //掃描文件夾
    $file = scandir($dir);
    //顯示

    $htmlarr=array(); // 把html文件加入到數組
    foreach ($file as $key => $name) {
        if(getExt2($name)=='.html'){
            array_push($htmlarr,$name);
        }
    }
    // p($htmlarr);
    // exit();
    $XiaoHeQQ496631085=0;
    foreach ($htmlarr as $key1 => $name) {
        // if($name!='Shopsz_page_set.html'){
        //     continue;
        // }


        $file_path = $dir.'/'.$name;
        p("打開".$file_path);
        $content=file_get_contents($file_path);
        
        $newcontent=tihuan1($content);
        

        echo "修改{$name}ing...<br>";
        $newcontent = re_tihuan($newcontent);
        
        $fugai=1;//覆蓋源文件
        if($fugai){
            
            // p($newcontent);
            // exit();
            file_put_contents($file_path,$newcontent);
        }else{
            $dirz='newhtml';
            $dirc = iconv("UTF-8", "GBK", $dirz);
            if (!file_exists($dirc)){
                mkdir($dirc,0777,true);
                echo '創建文件夾'.$dirc.'成功';
            } 
            file_put_contents($dirz.'/'.$name,$newcontent);
            echo 'newhtml/'.$name.'</br>';
            // echo " <pre>";
            
                // echo "_______________________________________________________________________</br>";
            echo "<br>修改/newhtml/{$name}成功";
            // $newcontent = re_tihuan($newcontent);
        
        }
        $XiaoHeQQ496631085++;

    }
    echo "總共替換{$XiaoHeQQ496631085}個文件";

?>

上面注釋里面 有相關的測試結果!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM