<?php $txt =<<< TXT
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;if(preg_match_all('/src="(.*?)"../Documents/medies/is',$txt,$m)){
$imgne = $m[0];
}
print_r ($imgne);
?>这样正则好像不对,我就想了另一个折中的办法:
<?php $txt =<<< TXT
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;
if(preg_match_all('/src="(.*?)"/is',$txt,$m)){
$imgne = $m[0];
$imgne = preg_replace('../Documents/medies/','',$imgne);
}
print_r ($imgne);
?>这样的正则能得到../Documents/medies/Link_icon1.gif和../Documents/medies/Link_icon.gif
于是我想再替换掉。可是报错:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in
需要得到的是Link_icon1.gif和Link_icon.gif。前面的../Documents/medies/路径是固定的。
该怎么做呢?
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;if(preg_match_all('/src="(.*?)"../Documents/medies/is',$txt,$m)){
$imgne = $m[0];
}
print_r ($imgne);
?>这样正则好像不对,我就想了另一个折中的办法:
<?php $txt =<<< TXT
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;
if(preg_match_all('/src="(.*?)"/is',$txt,$m)){
$imgne = $m[0];
$imgne = preg_replace('../Documents/medies/','',$imgne);
}
print_r ($imgne);
?>这样的正则能得到../Documents/medies/Link_icon1.gif和../Documents/medies/Link_icon.gif
于是我想再替换掉。可是报错:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in
需要得到的是Link_icon1.gif和Link_icon.gif。前面的../Documents/medies/路径是固定的。
该怎么做呢?
print_r($m[1]);
<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;
echo preg_replace('#(src=").+([^/]+")#U', '$1$2', $txt);<img src="Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
$DBname = "lookdb";
$DBuser = "root";
$DBpassword = "";$con = mysql_connect("localhost","root","");$txt =<<< TXT
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;if(preg_replace('#(src=").+([^/]+")#U', '$1$2', $txt)); $imgne = $m[1];
}
print_r ($imgne);
mysql_select_db("lookdb",$con);
mysql_query("set names 'gbk'");
$sql = "update imgmulu set page_id = 101370 where img_name = ('{$imgne}')";
//$sql = "update imgmulu set page_id = 101370 where img_name= 'ESIL_gaowenjiayarechuli1.gif'";mysql_query($sql);但是这样存不进数据库,下面那句sql语句就可以
$DBname = "lookdb";
$DBuser = "root";
$DBpassword = "";$con = mysql_connect("localhost","root","");$txt =<<< TXT
"<img src="../Documents/medies/Link_icon1.gif" alt="Image:link_icon1.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon1.gif" /></a><a href="/index.php/%E7%A8%80%E7%A1%9D%E9%85%B8%E6%B0%A7%E5%8C%96%E6%B3%95" title="稀硝酸氧化法">稀硝酸氧化法</a>
<img src="../Documents/medies/Link_icon.gif" alt="Image:link_icon.gif" width="16" height="16" longdesc="/index.php/Image:Link_icon.gif" /></a><a href="/index.php/%E6%B0%A8-%E7%A2%B1%E6%BA%B6%E6%B6%B2%E4%B8%A4%E7%BA%A7%E5%90%B8%E6%94%B6%E6%B3%95" title="氨-碱溶液两级吸收法">氨-碱溶液两级吸收法</a>
TXT;if(preg_match_all('/src=".+?\/([^\/]+?)"/is',$txt,$m)){
$imgne = $m[1];
}
print_r ($imgne);
mysql_select_db("lookdb",$con);
mysql_query("set names 'gbk'");
$sql = "update imgmulu set page_id = 101370 where img_name = ('{$imgne}')";
//$sql = "update imgmulu set page_id = 101370 where img_name= 'ESIL_gaowenjiayarechuli1.gif'";mysql_query($sql);
你是要干什么。在那两个文件名里面就更新吗?
现在在imgmulu中增加了page_id这个字段,所以最后是把截出的来图片名根据imgmulu中对应的图片名,赋值pageid到imgmulu表中新增的page_id
page的结构是pageid page_text(页面内容)
imgmulu的结构是img_id img_name page_id
是不是要打印出这样的结果才能存入数据库:Link_icon1.gifLink_icon.gif
img_id img_name
1 Link_icon1.gif
2 Link_icon.gif
$sql = "update imgmulu set page_id = 101370 where img_name in ('". $s."')";