雖然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}個文件"; ?>
上面注釋里面 有相關的測試結果!