0

如何;在包含字符串的以下变量中添加分隔符

我有这样的字符串:

$filename = "a.jpg3c.pngyes.jpg";

我想要类似的东西

a.jpg;3c.png;yes.jpg

当我选择要上传的多个文件时创建此字符串。

正则表达式是这里唯一的解决方案吗?

4

2 回答 2

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

编辑:在您的特定情况下,我会在循环内的文件名末尾添加分号。

于 2013-04-23T21:26:16.863 回答
1

这是使用正则表达式的一种选择:

$filename = "a.jpg3c.pngyes.jpg";
$regex = '/\.(jpg|png|gif)(?!$)/';
$filename = preg_replace($regex, ".$1;", $filename);
于 2013-04-23T21:33:04.003 回答