如何在包含字符串
的以下变量中添加分隔符;
我有这样的字符串:
$filename = "a.jpg3c.pngyes.jpg";
我想要像
这样的东西a.jpg;3c.png;yes.jpg
当我选择要上传的多个文件时,会创建此字符串。
这里只有正则表达式解决方案吗?
答案 0 :(得分:3)
正则表达式不是唯一的解决方案!也许您可以使用str_replace()
代替正则表达式。
$filenames = "a.jpg3c.pngyes.jpg";
$img_extensions = array(".png", ".jpg", ".gif");
$semicolon_additions = array(".png;", ".jpg;", ".gif;");
$newfilenames = str_replace($img_extensions, $semicolon_additions, $filenames);
http://php.net/manual/en/function.str-replace.php
编辑:在您的特定情况下,我会在循环内部的文件名末尾添加分号。
答案 1 :(得分:1)
以下是使用正则表达式的一个选项:
$filename = "a.jpg3c.pngyes.jpg";
$regex = '/\.(jpg|png|gif)(?!$)/';
$filename = preg_replace($regex, ".$1;", $filename);