最近在正在做模板文件模块,有用到采集文件和生成文件。所以自己做了一个采集函数。
采集示例: get_nr( '<div>54818模板网是一个非常非常好的网站</div>' , '<div>[内容]</div>' ) 返回结果:54818模板网是一个非常非常好的网站
修改示例: get_nr( '<div>54818模板网是一个非常非常好的网站</div>' , '<div>[内容]</div>' , '你好,54818模板网') 返回结果:<div>你好,54818模板网</div>
/** * 采集内容 * $str 被采集的字符串 * $guize 采集规则(“[内容]”是通配符) * $xg 修改内容 */ function get_nr($str , $guize , $xg=null ) { if(empty($str)||empty($guize)) return ''; $guize = str_replace(array("\r","\n","\r\n",'&#n#&&#n#&'), '&#n#&',$guize); $arr = explode('[内容]', $guize); if($arr[count($arr)-1] == '') unset($arr[count($arr)-1]); $str = str_replace(array("\r","\n","\r\n",'&#n#&&#n#&'), '&#n#&', $str); $str = explode(trim($arr[0]), $str); if ($xg !== null) { if(is_array($str)){ $str1 = explode(trim($arr[1]), $str[1]); if($str1[0]){ $str1[0] = $xg; $str[1] = join($arr[1],$str1); } $fk = join($arr[0],$str); }else{ $fk = trim($str1[0]); } return str_replace( '&#n#&', PHP_EOL, $fk); }else{ if(is_array($str)) $str = explode(trim($arr[1]), $str[1]); return str_replace( '&#n#&', PHP_EOL, trim($str[0])); } }