如何;
在包含字符串的以下变量中添加分隔符
我有这样的字符串:
$filename = "a.jpg3c.pngyes.jpg";
我想要类似的东西
a.jpg;3c.png;yes.jpg
当我选择要上传的多个文件时创建此字符串。
正则表达式是这里唯一的解决方案吗?
正则表达式不是唯一的解决方案!也许您可以使用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
编辑:在您的特定情况下,我会在循环内的文件名末尾添加分号。
这是使用正则表达式的一种选择:
$filename = "a.jpg3c.pngyes.jpg";
$regex = '/\.(jpg|png|gif)(?!$)/';
$filename = preg_replace($regex, ".$1;", $filename);