replace可查找替换回车换行字符(
分类:威尼斯手机平台

不包括抓图片?$buffer = file(address); //$address 网页地址for($i = 0;i sizeof($buffer);$i++){ //去yahoo广告 $buffer[$i] = str_replace(''!----- ad start -----'',''noscrīpt'' $buffer[$i]); $buffer[$i] = str_replace(''!----- ad end -----'',''/noscrīpt'' $buffer[$i]); //最后显示 echo($buffer);}?str_replace 3个参数 ,第一个是原文件的内容,第二个是替换成的内容.最后一个是写入的地方.$buffer能取得整个html页面的文本档,成为一个数组,每行一个元素,简单的说就是逐行寻找替换.替换后输出.同样的可以把烂掉的无法显示的页面 例如成为 这样的替换成对应网址.替换前查看下原HTML档对比下就行.

str_replace可查找替换常规字符,
preg_replace可查找替换回车换行字符(rn)
preg_replace常用在

 代码如下

<meta name="description" content="<?php echo htmlspecialchars(utf_substr(preg_replace('/rn/','',str_replace(' ','',strip_tags($this->getDescription()))),400)) ?>">

内容的过滤,过滤回车换行(rn)等

 代码如下

<a href="/%E5%8A%A8%E4%BD%9C%E5%86%92%E9%99%A9_1.html1">首页</a> <a href="/%E5%8A%A8%E4%BD%9C%E5%86%92%E9%99%A9_1.html0" class="a1">上一页</a>

用str_replace函数和preg_replace函数替换成

 代码如下

<a href="/%E5%8A%A8%E4%BD%9C%E5%86%92%E9%99%A9_1.html">首页</a> <a href="/%E5%8A%A8%E4%BD%9C%E5%86%92%E9%99%A9_1.html" class="a1">上一页</a>

例子

 代码如下

$pages = $keyword_data_db->pages;
$pages = str_replace('?page=', '', $pages);
$pages = preg_replace('/_([0-9]+).html([0-9]+)/', '_$2.html', $pages);
$pages = str_replace('_0.html', '_1.html', $pages);

再看个比较例子

 代码如下

$str =
'111111110000000000000000000000000000000111000001000100010000010010000010010000010100000010
';
$str = str_repeat($str, 1);
$pattern1 = array('12345'=>'', '67891'=>'');
$pattern2 = array('a'=>'', '1234567890'=>'');
$pattern3 = '/12345|67891/';
$pattern4 = '/a|1234567890/';
$pattern5 = array('12345', '67891');
$pattern6 = array('a', '1234567890'); 
$t = microtime(true);

echo microtime(true)-$t, "/n";        //0.4768660068512    2.7257590293884  
$t = microtime(true);
for($i=0; $i<10000; $i++)
{
     preg_replace($pattern3, '', $str);
}
echo microtime(true)-$t, "/n";        //0.30504012107849    1.0864448547363 
$t = microtime(true);
for($i=0; $i<10000; $i++)
{
     preg_replace($pattern4, '', $str);
}
echo microtime(true)-$t, "/n";        //0.30298089981079    1.117014169693  
$t = microtime(true);
for($i=0; $i<10000; $i++)
{
     str_replace($pattern5, '', $str);
}
echo microtime(true)-$t, "/n";        //0.18029189109802    0.22510504722595 
$t = microtime(true);
for($i=0; $i<10000; $i++)
{
     str_replace($pattern6, '', $str);
}
echo microtime(true)-$t, "/n";        //0.18104100227356   0.23055601119995 
//说明:当str_repeat的第二个参数为1时输出第一个数字,当为8时输出第二个数字

区别

区别就是str_replace被替换(查找)的内容是固定的、确定的,当然可以使用变量,但是变量也表示固定的、确定的内容,比如可以完成把所有的n替换为<br>等场合。

而preg_replace被替换(查找)的内容是用规则来描述的,比如可以把所有的<和>之间的内容(HTML代码)替换掉。当然preg_replace也可以用来替换固定内容。

根据以上规则,所有str_replace能做的事情preg_replace都能办到,但是preg_replace的速度要慢些,使用也要复杂些,所以我们应该尽力使用str_replace。

本文由威尼斯在线注册平台发布于威尼斯手机平台,转载请注明出处:replace可查找替换回车换行字符(

上一篇:威尼斯手机平台诚如我们做算法的时候都不考虑这种意况的留存恐怕,又称编辑距离 下一篇:没有了
猜你喜欢
热门排行
精彩图文