PHP如何把其它网站的title替换成我自定义的title 本帖最后由 zhukai1 于 2011-05-13 17:41:03 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$url = "http://www.baidu.com/";$fp = @fopen($url, "r") or die("超时");$fcontents = file_get_contents($url);$fcontents = str_replace("<title>.*<\/title>","<title>我的百度网</title>",$fcontents);echo $fcontents;?> 呵呵,看到标题有点吓一跳:PHP如何把其它网站的title替换成我自定义的title如果是这样,可以说不可能完成,除非把它的站点给黑了!如果是模拟,你改一个函数为:preg_replace即可,如下:<?php$url = "http://www.baidu.com/";$fp = @fopen($url, "r") or die("超时");$fcontents = file_get_contents($url);//ereg("(.*)",$fcontents,$rg);$rg[1]=preg_replace("/<title>(.*?)<\/title>/i","<title>我的百度网</title>",$fcontents); //这里怎么能替换成“我的百度网”,这里写的是错的,页面一直在加载echo $rg[1];?> //$fp = @fopen($url, "r") or die("超时");这个也注释了吧。多余了! str_replace(); //这个里有中文就不行,英文就正常。如何解决? <?phpheader("Content-type:text/html;charset=gb2312");$url = "http://www.baidu.com/";$fp = @fopen($url, "r") or die("超时");$fcontents = file_get_contents($url);//$ergs=/<title>[ \n\r\t]*<\/title>/g;$fcontents = ereg_replace ("<title>.*<\/title>","<title>我的百度网</title>",$fcontents);echo $fcontents;?> 使用正则表达式 不要使用这个函数str_replace 用这个把ereg_replace;还有注意的一点就是你的 页面编码 ;我刚刚就是测试了很久 没测试出来 原来是页面编码的问题 ;使用ANSI编码吧;不要使用utf8 ;不然页面都不会显示; $url = "http://www.baidu.com/";$fp = @fopen($url, "r") or die("超时");$fcontents = file_get_contents($url);//ereg("(.*)",$fcontents,$rg);$rg[1]=preg_replace("/<title>(.*?)<\/title>/i","<title>我的百度网</title>",$fcontents); //这里怎么能替换成“我的百度网”,这里写的是错的,页面一直在加载echo $rg[1];这个代码在我这里完全可以把标题替换为"我的百度网",自己认真看好代码再试一下吧。不要太粗心了。 问题解决了!我的PHP文件用UTF-8编码一次就能用了。str_replace(); //有中文也能用的谢谢大家了! 请问一个有10万条信息的mysql数据库该如何备份呢 謝謝咯,麻煩幫我處理下正則 远程抓取的问题.急,请帮忙! vc++ mysql+php,c出现乱码 日历价格表? 100分求一个关于数组格式化的问题 php画图:使用JPGRAPH的问题 php如何返回SQL Server的游标的运行结果? 这个函数encrypt用过吗? 怎样才能正确地在一个for循环里操作多条记录(内祥) php 文件下载 为什么提交不了 数据
$fp = @fopen($url, "r") or die("超时");
$fcontents = file_get_contents($url);
$fcontents = str_replace("<title>.*<\/title>","<title>我的百度网</title>",$fcontents);echo $fcontents;?>
PHP如何把其它网站的title替换成我自定义的title
如果是这样,可以说不可能完成,除非把它的站点给黑了!如果是模拟,你改一个函数为:preg_replace即可,如下:<?php
$url = "http://www.baidu.com/";
$fp = @fopen($url, "r") or die("超时");
$fcontents = file_get_contents($url);
//ereg("(.*)",$fcontents,$rg);
$rg[1]=preg_replace("/<title>(.*?)<\/title>/i","<title>我的百度网</title>",$fcontents); //这里怎么能替换成“我的百度网”,这里写的是错的,页面一直在加载echo $rg[1];
?>
header("Content-type:text/html;charset=gb2312");
$url = "http://www.baidu.com/";
$fp = @fopen($url, "r") or die("超时");
$fcontents = file_get_contents($url);
//$ergs=/<title>[ \n\r\t]*<\/title>/g;
$fcontents = ereg_replace ("<title>.*<\/title>","<title>我的百度网</title>",$fcontents);
echo $fcontents;
?>
还有注意的一点就是你的 页面编码 ;我刚刚就是测试了很久 没测试出来 原来是页面编码的问题 ;使用ANSI编码吧;不要使用utf8 ;不然页面都不会显示;
$fp = @fopen($url, "r") or die("超时");
$fcontents = file_get_contents($url);
//ereg("(.*)",$fcontents,$rg);
$rg[1]=preg_replace("/<title>(.*?)<\/title>/i","<title>我的百度网</title>",$fcontents); //这里怎么能替换成“我的百度网”,这里写的是错的,页面一直在加载echo $rg[1];这个代码在我这里完全可以把标题替换为"我的百度网",自己认真看好代码再试一下吧。不要太粗心了。
str_replace(); //有中文也能用的
谢谢大家了!