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

一段PHP代码有关问题

2012-03-30 
一段PHP代码问题PHP code$url http://localhost/index.php/.$string1$contents file_get_content

一段PHP代码问题

PHP code
$url = "http://localhost/index.php/"."$string1";       $contents = file_get_contents($url);print_r($contents);    


PHP code
    $url = "http://localhost/index.php/"."$string1";       $contents = file_get_contents($url);//print_r($contents);              if((preg_match_all('/(<h1.*<\/table>)/iUs', $contents, $match))){        $contents = $match[1][0];    }print_r($contents);



为什么这2段代码打印出的结果是一样的啊,这个网页是<h1>...</table>结构的啊,其他类似的能成功截取,就是这个网页打印出的结果和没截取是一样的。。。

[解决办法]
给出你的页面内容才行呀,这样子你让人怎么猜? 有问题的肯定就是在正则咯
[解决办法]
第二段正则的地方输出看下
PHP code
   if((preg_match_all('/(<h1.*<\/table>)/iUs', $contents, $match))){         echo '333';                   //测试下是否正则匹配到        $contents = $match[1][0];        var_dump($contents);           //打印输出看下    }
[解决办法]
网页是<h1>...</table>结构。而 preg_match_all('/(<h1.*<\/table>)/iUs 等于是匹配全部结构。
又 $contents = $match[1][0]; //如果页面仅有一个<h1>...</table> 结构。

那么。跟file_get_contents()得出的结果不是一样。是什么?
[解决办法]
正则表达式有错误,改成:
preg_match_all('/<h1>.*<\/table>/sU', $contents, $match)
[解决办法]
preg_match('/<h1.+<\/table>/is',$str,$m);
echo $m[0];
[解决办法]
'">3,3'-二氯联苯胺<a ...
你入库的数据没有做转义处理,所以出错

mediumtext类型最大可存放 16M 字符,应该足够了
[解决办法]
$content=mysql_real_escape_string($contents[0]);
$SQL="INSERT INTO pagecontents (old_title,old_text) VALUES('{$string}','{$content}')";

热点排行