一段PHP代码问题
$url = "http://localhost/index.php/"."$string1"; $contents = file_get_contents($url);print_r($contents);
$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);
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}')";