php code805){ $h=($m[2]*805)/$m[1] ; $k=805; $ptext = preg_replace('/(width=)(\d+)(\s*height=)(\d+)/i','$1'.$k.'$3'.$h.'',$m); } mysql_query(set names 'gbk'); $sql = update pagecontents set page_text = ('{$ptext}') where page_id = ('{$pid}'); mysql_query($sql) or die(mysql_error());}?>
结果是2句都执行了
html code//部分page_text // //
本来想做的是只改width超过805的那条,也就是第一条,结果所有的都被替换了。
------解决方案--------------------
$m[1] 返回的是所有匹配的内容.
print_r 看看你就知道了
------解决方案--------------------
问题还没解决呢? 你贴了几段。到底以那段为标准。问题也没描述清楚。
------解决方案--------------------
记得我给你写贴过代码php code$page_text = txt;echo preg_replace_callback('#width=(\d+)\s*height=(\d+)#i', 'back', $page_text );//$m[1]是width的值 , $m[2]是height的值。function back($m) { if($m[1]>805){ $h=round(($m[2]*805)/$m[1]); $k=805; return width=\$k\ height=\$h\ ; } return $m[0];}
