首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

众好汉,洒家含泪求一帮助。关于正则替换。整整浪费洒家一个上午解决办法

2012-03-22 
众好汉,洒家含泪求一帮助。关于正则替换。整整浪费洒家一个上午洒家试了数次仍正则表达式所致,但洒家调试数

众好汉,洒家含泪求一帮助。关于正则替换。整整浪费洒家一个上午
洒家试了数次仍正则表达式所致,但洒家调试数次,均未成功,故而向众好汉求助。
目的:去了此代码中的广告即:<script type与</script>之间之内容。
源码如下:

PHP code
[code=PHP]
<table width="970" border="0" cellspacing="1" cellpadding="0" align="center">
  <tr> 
  <td> 
<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#F0F0F0">
  <tr> 
  <td width="60%" valign="top"> 
  <table width="100%" border="0" cellspacing="1" cellpadding="5" bgcolor="#D7D7D7">
  <tr> 
  <td bgcolor="#FFFFFF" colspan="2"><div class="l">网站基本信息</div> <div class="r">该页数据更新于 <span id="domainarr">18小时前</span></div></td>
  </tr>
  <tr> 
  <td bgcolor="#FFFFFF" width="25%" class="title">网站域名:</td>
  <td bgcolor="#FFFFFF" width="75%" class="domain"><a href="/baidu.com" class="l">www.baidu.com</a><span id="weblink"></span></td>
  </tr>
  <tr> 
  <td bgcolor="#FFFFFF" width="25%" class="title">网站价值:</td>
  <td bgcolor="#FFFFFF" width="75%"><span id="worth">2,013,862,787</span> 
  元 (不含域名价值,品牌价值及其行业附加值)</td>
  </tr>
  <tr> 
  <td bgcolor="#FFFFFF" colspan="2" class="title" align="center">
   

<script type="text/javascript"><!--
google_ad_client = "ca-pub-3483611175549740";
/* 468x15, 创建于 10-4-6 */
google_ad_slot = "2068076510";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </td>
  </tr>
   
  </table>[/code]
所用函数:
echo preg_replace('/script"(.*)script/','',$arr1[0]);

[解决办法]
PHP code
echo    preg_replace("/<script.*?<\/script>/s", "", $arr1[0]);
[解决办法]
PHP code
<?php$Html=<<<html<table width="970" border="0" cellspacing="1" cellpadding="0" align="center">  <tr>   <td> <table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#F0F0F0">  <tr>   <td width="60%" valign="top">   <table width="100%" border="0" cellspacing="1" cellpadding="5" bgcolor="#D7D7D7">  <tr>   <td bgcolor="#FFFFFF" colspan="2"><div class="l">网站基本信息</div> <div class="r">该页数据更新于 <span id="domainarr">18小时前</span></div></td>  </tr>  <tr>   <td bgcolor="#FFFFFF" width="25%" class="title">网站域名:</td>  <td bgcolor="#FFFFFF" width="75%" class="domain"><a href="/baidu.com" class="l">www.baidu.com</a><span id="weblink"></span></td>  </tr>  <tr>   <td bgcolor="#FFFFFF" width="25%" class="title">网站价值:</td>  <td bgcolor="#FFFFFF" width="75%"><span id="worth">2,013,862,787</span>   元 (不含域名价值,品牌价值及其行业附加值)</td>  </tr>  <tr>   <td bgcolor="#FFFFFF" colspan="2" class="title" align="center">   <script type="text/javascript"><!--google_ad_client = "ca-pub-3483611175549740";/* 468x15, 创建于 10-4-6 */google_ad_slot = "2068076510";google_ad_width = 468;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>  </td>  </tr>     </table>html;$Html=preg_replace('/<script type="text\/javascript">.*<\/script>/ism','',$Html);echo $Html; 


[解决办法]
洒家小白一个 纯属路过 帮顶 建议 楼主 改为奴家 可能会有更多的英雄好汉为你排忧解难的!
[解决办法]

探讨

amani11
二位好汉,对你们是极为感谢。
preg_replace("/<script.*?<\/script>/s", "", $arr1[0]);

第一:为何要在末处加上/s
第二:为何要用.*?而不是.*
第三:为何不加(),这样(.*?)

热点排行