当前位置:编程学习 > php >>

php编程问题,帮忙看看,谢谢!

源码如下,

<?php
header("Content-type:text/html;charset=utf-8");
$weibo = file_get_contents(' http://t.qq.com/zhudeyong');
$preg = '/<div class="msgCnt">(.*)<\/div><div class="mediaWrap">/Uis';
preg_match_all($preg, $weibo, $string);
foreach ($string[1] as $key=>$value){
echo delhtml($value)."<br/><br/><br/>";
}

function delhtml($str) // 清除HTML标签
{
$st = -1; //开始
$et = -1; //结束
$stmp = array();
$stmp[] = " ";
$len = strlen($str);
for($i = 0;$i < $len;$i++)
{
$ss = substr($str, $i, 1);
if (ord($ss) == 60) // ord("<")==60
{
$st = $i;
}
if (ord($ss) == 62) // ord(">")==62
{
$et = $i;
if ($st != -1)
{
$stmp[] = substr($str, $st, $et - $st + 1);
}
}
}

$str = str_replace($stmp, "", $str);
return $str;
}
?>

希望加入以下功能

问题1:当采集完所有后,截取前300个文字。

问题2:清除所有html代码。

问题3:如何取前$preg 三次匹配内容,即只采集前三条内容。

问题4:采集的内容编码为utf8,如何直接变为gbk。

谢谢,不懂php,望高手帮下忙,谢谢!

追问:不好意思,我学了一早上,就是整合不了,运行结果老是空白,能帮我把问题2.3.4在这个例子基础上整合一下,给我个源码吗?谢谢!
答案:第一:用mb_substr截取。具体请查 http://docs.php.net/manual/zh/function.mb-substr.php

第二:strip_tags, http://docs.php.net/manual/zh/function.strip-tags.php

第三:如果你的preg_match_all函数获取正确的话,$preg[1][0]、$preg[1][1]、

$preg[1][2] 就是你想要的结果。

第四:用iconv, http://docs.php.net/manual/zh/function.iconv.php

上一个:...PHP编程如何连接数据库
下一个:php编程,数据库出现乱码

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,