<?
$string = "<img src='c:\a.gif' width=30 height= 20>";if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$string,$m)){
echo "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($m[1])."]";
}
else{
echo "can't";
}?>
$string = "<img src='c:\a.gif' width=30 height= 20>";if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$string,$m)){
echo "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($m[1])."]";
}
else{
echo "can't";
}?>
解决方案 »
- php连ldap时 ldap_search不到数据的问题 急!!!
- 求教 php preg_match 分析 CPP文件里的类间关系,怎么写?
- 文章中如何自动合理的插入广告代码?==高手进!!急急急!!!
- Warning: shell_exec(): Unable to execute 'host -t mx darkmattr.blogspot.com'
- 问些新手的问题
- php可以包含web服务器根目录外的文件的问题
- php中如何调用cgi
- PHP编辑分组时显示父级分组的名字
- 已经一天了求解脱Fatal error: Call to undefined function mb_detect_encoding()
- 请问怎么获取7个工作日的日期时间。
- 求一段程序.
- 求一段程序.
$string = "<img src='c:\a.gif' width=30 height= 20>";if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$string,$m)){
$te=explode("\\",trim($m[1]));
echo "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($te[1])."]";
}
else{
echo "can't";
}?>
把
$html="
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
转换为:
$html= "[uploadpic|30|20|a.gif][uploadpic|30|20|a.gif]"
$html="
<font color=red>ok</font>
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
转换为:
$html= "<font color=red>ok</font>uploadpic|30|20|a.gif][uploadpic|30|20|a.gif]"
只要文件名
<font color=red>ok</font>
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
if(preg_match_all("/<img [^>]+>/",$html,$regs)) {
$p = $regs[0];
foreach($p as $key=>$value) {
$p[$key] = "/".quotemeta($value)."/";
$value = preg_replace("/ +/"," ",$value); // 除去多余的空格
$value = preg_replace("/ ?= ?/","=",$value); // 除去多余的空格
preg_match_all("/\b(\w+)=([^ >]+)/",$value,$r); // 提取赋值表达式
$ar = array("uploadpic",width=>"",height=>""); // 定义输出缓存 foreach($r[1] as $k=>$v) { // 给缓存赋值
$ar[$v] = preg_replace("/'/","",$r[2][$k]);
}
$out[] = "[".join("|",$ar)."]"; // 生成输出串
}
$html = preg_replace($p,$out,$html);
}
echo $html;
<font color=red>ok</font>
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
if(preg_match_all("/<img [^>]+>/",$html,$regs)) {
$p = $regs[0];
foreach($p as $key=>$value) {
$p[$key] = "/".quotemeta($value)."/";
$value = preg_replace("/ +/"," ",$value); // 除去多余的空格
$value = preg_replace("/ ?= ?/","=",$value); // 除去多余的空格
preg_match_all("/\b(\w+)=([^ >]+)/",$value,$r); // 提取赋值表达式
$ar = array("uploadpic",width=>"",height=>""); // 定义输出缓存 foreach($r[1] as $k=>$v) { // 给缓存赋值
$ar[$v] = preg_replace("/'/","",$r[2][$k]);
}
$out[] = "[".join("|",$ar)."]"; // 生成输出串
}
$html = preg_replace($p,$out,$html);
}
echo $html;
//在没有其他属性的情况下使用.(可乱序)
echo preg_replace('/<img\s*(?:src=\'.*\x5C([^\x5C]*)\'\s*|width=(.*)\s*|height=(.*)\s*)*\s*>/Ui',"[uploadpic|\\2|\\3|\\1]",$html);