| 一般处理的方式有二种:1.通过编辑器的JS直接去除。2.提交到后台后,直接用程序去掉无效标签。下面我就分享一个通过PHP的处理方式,成功率可能不是100%。这程序也是在PHP官网上看到的,就顺便粘贴过来了。 越发忙碌的你,是否想给自己放个假?专注工作的你,是否还记得上一次锻炼是什么时候?优伴户外旅行,给你不一样的旅行体验:给心自由,便处处都是风景!';<div class="codetitle"><a style="CURSOR: pointer" data="93041" class="copybut" id="copybut93041" onclick="doCopy('code93041')"> 代码如下:<div class="codebody" id="code93041">
 function ClearHtml($content,$allowtags='') { mb_regex_encoding('UTF-8');
 //replace MS special characters first
 $search = array('/‘/u','/’/u','/“/u','/”/u','/—/u');
 $replace = array(''',''','"','-');
 $content = preg_replace($search,$replace,$content);
 //make sure all html entities are converted to the plain ascii equivalents - it appears
 //in some MS headers,some html entities are encoded and some aren't
 $content = html_entity_decode($content,ENT_QUOTES,'UTF-8');
 //try to strip out any C style comments first,since these,embedded in html comments,seem to
 //prevent strip_tags from removing html comments (MS Word introduced combination)
 if(mb_stripos($content,'/') !== FALSE){
 $content = mb_eregi_replace('#/*.?*/#s','',$content,'m');
 }
 //introduce a space into any arithmetic expressions that could be caught by strip_tags so that they won't be
 //'<1' becomes '< 1'(note: somewhat application specific)
 $content = preg_replace(array('/<([0-9]+)/'),array('< $1'),$content); $content = strip_tags($content,$allowtags);
 //eliminate extraneous whitespace from start and end of line,or anywhere there are two or more spaces,convert it to one
 $content = preg_replace(array('/^ss+/','/ss+$/','/ss+/u'),array('',' '),$content);
 //strip out inline css and simplify style tags
 $search = array('#<(h3|b)[^>]>(.?)</(h3|b)>#isu','#<(em|i)[^>]>(.?)</(em|i)>#isu','#<u[^>]>(.?)#isu');
 $replace = array('$2','$2','$1');
 $content = preg_replace($search,$content); //on some of the ?newer MS Word exports,where you get conditionals of the form 'if gte mso 9',etc.,it appears
 //that whatever is in one of the html comments prevents strip_tags from eradicating the html comment that contains
 //some MS Style Definitions - this last bit gets rid of any leftover comments /
 $num_matches = preg_match_all("/&;!--/u",$matches);
 if($num_matches){
 $content = preg_replace('/&;!--(.)-->/isu',$content);
 }
 return $content;
 }
 
 测试使用结果:
 <div class="codetitle"><a style="CURSOR: pointer" data="84755" class="copybut" id="copybut84755" onclick="doCopy('code84755')"> 代码如下:<div class="codebody" id="code84755">
 <?php
 $content = '
 <p class="p0" style="text-indent: 24.0000pt; margin-bottom: 0pt; margin-top: 0pt;"><span style="mso-spacerun: "yes"; font-size: 12.0000pt; font-family: "宋体";">《优伴户外旅行》——让旅行成为习惯!
 echo ClearHtml($content,'
 '); / 得到的结果:
 
 《优伴户外旅行》--让旅行成为习惯!越发忙碌的你,是否想给自己放个假?专注工作的你,是否还记得上一次锻炼是什么时候?优伴户外旅行,给你不一样的旅行体验:给心自由,便处处都是风景! /
 ?>
 
 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |