欢迎来到 54818模板网!这是一个yzmcms的模板分享站。

PHP没使用正则的内容采集函数

相关案例演示

        最近在正在做模板文件模块,有用到采集文件和生成文件。所以自己做了一个采集函数。

采集示例:
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]));
	}
}

    作者:54818模板网 关注:2474 时间:2022-03-03 15:16:02
    相关网站教程