在thinkphp3.2.2中有无法删除模板中的空格和换行的问题:
即使配置了 'TMPL_STRIP_SPACE' => true 也是不起效的。
原因:在ThinkPHPLibraryThinkTemplate.class.php 文件,compiler方法少了以下的一段代码导致的:
if(C('TMPL_STRIP_SPACE')) { /* 去除html空格与换行 */ $find = array('~>s+<~','~>(s+n|r)~'); $replace = array('><','>'); $tmplContent = preg_replace($find, $replace, $tmplContent); }
最终的代码是这样的. (如果不会改就直接复制下面的代码替换你的代码吧!)
protected function compiler($tmplContent) { //模板解析 $tmplContent = $this->parse($tmplContent); // 还原被替换的Literal标签 $tmplContent = preg_replace_callback('//is', array($this, 'restoreLiteral'), $tmplContent); // 添加安全代码 $tmplContent = ''.$tmplContent; if(C('TMPL_STRIP_SPACE')) { /* 去除html空格与换行 */ $find = array("~>s+<~","~>(s+n|r)~"); $replace = array('><','>'); $tmplContent = preg_replace($find, $replace, $tmplContent); } // 优化生成的php代码 $tmplContent = str_replace('?>
php清除html,php去除空格与换行,php清除空白行和换行,提取页面纯文本
实用的php清除html,换行,空格类,php去除空格与换行,php清除空白行和换行,提取页面纯文本内容
方法一:function DeleteHtml($str) { $str = trim($str); //清除字符串两边的空格 $str = preg_replace("/t/","",$str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。 $str = preg_replace("/rn/","",$str); $str = preg_replace("/r/","",$str); $str = preg_replace("/n/","",$str); $str = preg_replace("/ /","",$str); $str = preg_replace("/ /","",$str); //匹配html中的空格 return trim($str); //返回字符串 }
调用方法
DeleteHtml($str); $str 为需要清除的页面字符串
方法二:
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
strip_tags() 函数官方介绍: http://www.php.net/manual/zh/function.strip-tags.phpclass delhtml{ public function DeleteHtml($str) { $str = trim($str); //清除字符串两边的空格 $str = strip_tags($str,""); //利用php自带的函数清除html格式 $str = preg_replace("/t/","",$str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。 $str = preg_replace("/rn/","",$str); $str = preg_replace("/r/","",$str); $str = preg_replace("/n/","",$str); $str = preg_replace("/ /","",$str); $str = preg_replace("/ /","",$str); //匹配html中的空格 return trim($str); //返回字符串 } }
调用方法$delhtml=new delhtml(); $doreplace=$delhtml->DeleteHtml($doreplace);//需要处理的页面字符串
方法三:
去除字符串内部的空行:
$str = preg_replace("/(s*?r?ns*?)+/","n",$str);
去除全部的空行,包括内部和头尾:
$str = preg_replace('/($s*$)|(^s*^)/m', '',$str);
总结:三种方式方法过滤清除页面中的换行及空白行、空白换行,都有相同的效果,大家看实际使用情况吧。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级