php正则,去掉除html标签外的所有空格/换行符等特殊字符?注:html标签内可能会有属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则,去掉除html标签外的所有空格/换行符等特殊字符?注:html标签内可能会有属性相关的知识,希望对你有一定的参考价值。
html标签内的空格不去掉,如<img alt='gg.jpg'>中的空格不去
你是要压缩代码吧?
* 压缩html : 清除换行符,清除制表符,去掉注释标记
* @param $string
* @return 压缩后的$string
* */
function compress_html($string)
$string = str_replace("\\r\\n", '', $string); //清除换行符
$string = str_replace("\\n", '', $string); //清除换行符
$string = str_replace("\\t", '', $string); //清除制表符
$pattern = array (
"/> *([^ ]*) *</", //去掉注释标记
"/[\\s]+/",
"/<!--[^!]*-->/",
"/\\" /",
"/ \\"/",
"'/\\*[^*]*\\*/'"
);
$replace = array (
">\\\\1<",
" ",
"",
"\\"",
"\\"",
""
);
return preg_replace($pattern, $replace, $string);
参考技术A 这还不好办啊 "/<img\s+(.*)/" \s代表空白 +代表至少一个 这样的话 img后面至少一个是空格 或者无限个 后面的匹配的话 我用.* 代替了 匹配后面的所有内容 参考技术B $str=str_replace(" ","",$str);
$str=preg_replace("/([^<]1,3)\//","$1",$str);
$str=preg_replace("/\n/","",$str);
java正则表达式替换html中除标签外的关键字内容
首先是从很长很长的字符串(其实就是一篇网页文章源代码),从里面 筛选出关键字keywords,然后根据关键字是否在html样式标签里面作为条件筛选出不合格的(也就是在html标签里面作为url或者样式的keywords不能替换,还要保持原貌),然后用"<a href=\""+cau.getUrl()+"\" class=\"ebkw\" title=\""+cau.getKeywords()+"\">"+cau.getKeywords()+"</a>")字符串把关键字keywords代替了
List addUrlContentList = new ArrayList(); CmsAddUrlcontent urlContent = new CmsAddUrlcontent(); CmsAddUrlcontent urlContent1 = new CmsAddUrlcontent(); urlContent.setKeywords("B2C"); urlContent1.setKeywords("C2C"); urlContent.setUrl("http://www.ebrun.com/b2c/"); urlContent1.setUrl("www.ebrun.com/c2c"); addUrlContentList.add(urlContent); addUrlContentList.add(urlContent1); s=addUrl(addUrlContentList, s); System.out.println(s); return strContent;
把上面在线问答平台,解答问题社区,解答问题平台替换成你的关键字,注意把也替换掉,我是为了让你看明白换哪才加的。
然后你找到匹配上面的正则的地方后替换成你想替换的字符串就好了,全部替换记得用全局修饰符
以上是关于php正则,去掉除html标签外的所有空格/换行符等特殊字符?注:html标签内可能会有属性的主要内容,如果未能解决你的问题,请参考以下文章
php 正则匹配HTML标签以外的匹配词 并且不匹配A标签中的匹配词