CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  图形处理/算法

还是一段C代码的运作

楼主imageready(白白,白白,白白了)2006-03-04 18:58:51 在 VC/MFC / 图形处理/算法 提问

function   clean_summary($strSummary)   {  
          //   把结尾错误截断的HTML标签去掉  
          $arrMatchings   =   array(  
                  array("<",   ">"),  
                  array("&",   ";")  
          );  
          foreach   ($arrMatchings   as   $arrMatching)   {  
                  $intL   =   strrpos($strSummary,   $arrMatching[0]);  
                  if   ($intL   !==   false)   {  
                          $intR   =   strrpos($strSummary,   $arrMatching[1]);  
                          if   ($intL   >   $intR)   $strSummary   =   substr($strSummary,   0,   $intL);  
                  }  
          }  
          //   为了效率,能用str_replace搞定的就不用正则表达式  
          $strSummary   =   str_replace(array(  
                  "<br>",   "<br/>",   "</font>",   "</span>"  
          ),   array(  
                  "<br   />",   "<br   />",   "",   ""  
          ),   $strSummary);  
          //   有些非得用正则表达式,顺便复习一下正则表达式的用法  
          $arrPatterns   =   array(  
                  "#<script[.\s]*</script>#is",  
                  "#<script.*/>#is",  
                  "#<iframe[.\s]*</iframe>#is",  
                  "#<iframe.*/>#is",  
                  "#<img([^>]*)([^/])>#is",  
                  '#(height|width)="?(\d+)(px)?"?#is',  
                  "#border=[^\s]*   #is",  
                  "#<font[^>]*>#is",  
                  "#<span[^>]*>#is",  
                  "#<div[^>]*></div>#is",  
                  "#<p[^>]*></p>#is"  
          );  
          $arrReplacements   =   array(  
                  "",   "",   "",   "",  
                  "<img\1\2   />",  
                  '\1="\2"',  
                  "",   "",   "",   "",   ""  
          );  
          $strSummary   =   preg_replace($arrPatterns,   $arrReplacements,   $strSummary);  
          //   找出单独的“&”替换成“&amp;”  
          $intAnd   =   -1;  
          while   (($intAnd   =   strpos($strSummary,   "&",   $intAnd   +   1))   !==   false)   {  
                  if   (($intSemicolon   =   strpos($strSummary,   ";",   $intAnd))   !==   false)   {  
                          if   ($intSemicolon   -   $intAnd   >   6)   {  
                                  $strSummary   =   substr_replace($strSummary,   "&amp;",   $intAnd,   1);  
                                  continue;  
                          }  
                          $strEntity   =   substr($strSummary,   $intAnd,   $intSemicolon   -   $intAnd   +   1);  
                          $arrEntities   =   array(  
                                  "&nbsp;",   "&amp;",   "&lt;",   "&gt;",   "&quot;"  
                          );  
                          $boolNotEscaped   =   true;  
                          foreach   ($arrEntities   as   $e)   {  
                                  if   ($strEntity   ==   $e)   {  
                                          $boolNotEscaped   =   false;  
                                          break;  
                                  }  
                          }  
                          if   (!$boolNotEscaped)   continue;  
                          if   (!preg_match("^&#\d+;\$",   $strEntity))   {  
                                  $strSummary   =   substr_replace($strSummary,   "&amp;",   $intAnd,   1);  
                          }  
                  }   else   $strSummary   =   substr_replace($strSummary,   "&amp;",   $intAnd,   1);  
          }  
          return   $strSummary;  
  }  
  问题点数:100、回复次数:3Top

1 楼Hrunt()回复于 2006-03-04 19:19:18 得分 2

????  
  这不是C语言的代码吧~~~Top

2 楼unionize(同盟会)回复于 2006-03-04 19:25:20 得分 49

倒,已发送Top

3 楼unionize(同盟会)回复于 2006-03-04 19:25:50 得分 49

Mail   sentTop

相关问题

  • 一段出错C代码
  • 如何让下面的C代码运作
  • C#源代码
  • c++原代码
  • C原代码?
  • C++代码?
  • 求c++代码!
  • 这段C语言代码怎样改写成Delphi代码啊
  • ◆◆◆◆如何将这段Delphi代码转化为C++Builder代码◆◆◆◆
  • C++ Primer3/e中的此段代码对吗?

关键词

  • 正则表达式
  • strsummary
  • intand
  • arrmatching
  • boolnotescaped
  • intsemicolon
  • strentity
  • intl
  • array
  • substr

得分解答快速导航

  • 帖主:imageready
  • Hrunt
  • unionize
  • unionize

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo