不用正则也可以吧,不知这样满足你需求,正则不划算(呵,开玩笑了)
$str0 = "c:\$21\a23.gif;d:\image\11\j72.gif;c:\$21\a23.gif";
$tmp = explode(";", $str0);
foreach($tmp as $imsrc)
{
$basename = basename($imsrc);
echo "image\\".$basename."<br>";
unset($basename);
}
$str0 = "c:\$21\a23.gif;d:\image\11\j72.gif;c:\$21\a23.gif";
$tmp = explode(";", $str0);
foreach($tmp as $imsrc)
{
$basename = basename($imsrc);
echo "image\\".$basename."<br>";
unset($basename);
}
解决方案 »
- 文字长度超过一定量,则截断显示“更多”点击查看剩余内容,不超不显示
- PHP MYSQL事务会并发吗
- 高分求解决问题啊。。。。
- PHP怎么判断一个服务器上一个文件夹下的所有文件,哪个创建的时间离当前时间最接近
- AJAX中文乱码PHP完美解决(IE和Firefox兼容)
- cookie保存问题请教
- php 站点img文件下有若干个图片,其命名以文字或数字+.jpg 。怎样随机获取其中某一张图片并显示在 <td></td>之间呢??
- mysql疑问:怎样select的时候group by了之后,选出来的值是最大或者最小的?
- httpd-2.0.45-win32-src是什么东东?
- 又见session问题
- 关于PHP程序读取MySQL数据库中的中文值的显示成问号的问题!(在线等)
- 菜鸟,求教
$b = preg_replace("/c:\\$21/", "imagge", $a);
$b = preg_replace("/d:\\\image\11/", "jimagge", $b);
echo $b;不晓得楼主的确切意思,只能凭自己理解写了
$str='c:\$21\a23.gif;\image\ss\sds\..\abc\345346.gif;d:\image\11\j72.gif';
preg_match_all("/\\\\{1}.[^\.|\\\\]*.gif[;]{0,1}/is",$str,$matches);
$result="";
foreach($matches[0] as $key=>$v){
$result.="imagge".$v;
}
echo $result;
die();
?>
$str='c:\$21\a23.gif;\image\ss\sds\..\abc\345346.gif;d:\image\11\j72.gif';
preg_match_all("/\\\\{1}.[^\.|\\\\]*.gif[;]{0,1}/is",$str,$matches);
$result="";
foreach($matches[0] as $key=>$v){
$result.="imagge".$v;
}
echo $result;
die();
?>
c:\\$21\\a23.gif;d:\\image\\11\\j72.gif
c:\\$21\\a23.gif
TEXT;echo str_replace(array('c:\\$21', 'd:\\image'), array('imagge','jimagge'), $s);out
imagge\a23.gif;jimagge\11\j72.gif
imagge\a23.gif 注意:明文书写时串中的\要写做\\
c:\$21\a23.gif;d:\image\11\j72.gif
替换成imagge\a23.gif;jimagge\72.gif这块的“jimage”应该是“image”。写错了其实是想用ereg_replace()或preg_replace()来实现,不知道有没这可能?
([^;\\]+\\)*([^;]+)替换为:
images\$2测试工具:
http://www.regexlab.com/zh/replshop.asp?pat=%28%5B%5E%3B%5C%5C%5D%2B%5C%5C%29*%28%5B%5E%3B%5D%2B%29&rto=images%5C%242&txt=c%3A%5C%2421%5Ca23.gif%3Bd%3A%5Cimage%5C11%5Cj72.gif%3Bc%3A%5C%2421%5Ca23.gif