<?
$str ='<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<br /><IMG alt="" hspace=0 src=\'e:\My Documents\My Pictures\index_02.jpg\' align=baseline border=0>
<IMG alt="" hspace=0 src=e:\My Documents\My Pictures\index_02.jpg align=baseline border=0>
<IMG alt="" hspace=0 src=\'e:\My Documents\My Pictures\index_02.jpg\' align=baseline border=0>';
echo preg_replace('/(<img\s.*\ssrc=["|\']?)[^"\']*\x5C([^\x5C]*>)/Ui','\\1images/id/\\2',$str);
?>
$str ='<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<br /><IMG alt="" hspace=0 src=\'e:\My Documents\My Pictures\index_02.jpg\' align=baseline border=0>
<IMG alt="" hspace=0 src=e:\My Documents\My Pictures\index_02.jpg align=baseline border=0>
<IMG alt="" hspace=0 src=\'e:\My Documents\My Pictures\index_02.jpg\' align=baseline border=0>';
echo preg_replace('/(<img\s.*\ssrc=["|\']?)[^"\']*\x5C([^\x5C]*>)/Ui','\\1images/id/\\2',$str);
?>
解决方案 »
- 多维数组中相同元素相加问题
- php流输出
- move_uploaded_file()错误
- 散分,如何用php来判断文件类型
- 新手问题:本人在做一个兑奖功能,若输入的数据错误次数超过5次,则不能继续操作
- 喜悦国际村 - 请教一个动态变量的问题.对偶来说很有难度,希望高手赐教. 分数可以再加,主要是解决问题.
- 请教下列代码有什么错总是提示Parse error
- windows下安装apache的配置手册,哪位有?
- 用php如何读取excel文档
- 如何实现不是连续网页的变量传递?
- PHP 内置的md5算法能得到具体代码吗?
- 请问办一个大型网站,怎样申办。要有自己的服务器端口,自己硬盘(要多大有多大)。
$file_name = "mm.html"; //源文件名
$file_new_name = "new_".$file_name;//要生成的文件名//读取源文件内容.
$file = fopen($file_name,"r"); // 打开文件
$htmlsrc = fread($file,filesize($file_dir . $file_name));//将源文件内容读到变量$htmlsrc
fclose($file);//关闭文件//执行替换
$htmlsrc = preg_replace('/(<img\s.*\ssrc=["\']?)[^"\']*\x5C([^\x5C]*>)/Ui','\\1images/id/\\2',$htmlsrc);//写入新文件.
$newfile = fopen($file_new_name,"w");
fwrite($newfile,$htmlsrc);
fclose($newfile);?>
你帮过我不少忙我还有个问题就是怎么得到<IMG>的个数,和图片的文件名(我要根据这个生成上传页面)我做的是一个文章管理系统,数据库存储的是排好版的文章的html源码,现在就剩图片问题不好解决了。
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
';
$reg = '/(<img\s.*\ssrc=["\']?)[^"\']*\x5C([^\x5C]*>)/Ui';
preg_match_all($reg, $str, $m);
echo "<xmp>";
print_r($m);
#取count($m[0]);就可以得到img的个数了.
$str = '
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
<IMG alt="" hspace=0 src="e:\My Documents\My Pictures\index_02.jpg" align=baseline border=0>
';
$reg = '/<img\s.*\ssrc=["\']([^"\']*)["\']([^\x5C]*>)/Ui';
preg_match_all($reg, $str, $m);
echo "<xmp>";
print_r($m);
#取count($m[0]);就可以得到img的个数了.$m[1]是存放着文件句的数组了.
preg_match_all("/<img .*\bsrc.*=['\"](.*)['\"]/iU",$text,$regs);则count($regs[1])即为<IMG>的个数,数组$regs[1]存有全部图片文件名“和图片的文件名(我要根据这个生成上传页面)”
这里根据这个生成上传页面是不行的,file对象是只读的,不接受初值