如何在php中划分字符串

时间:2013-04-23 21:22:56

标签: php regex string divider

如何在包含字符串

的以下变量中添加分隔符;

我有这样的字符串:

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

我想要像

这样的东西
a.jpg;3c.png;yes.jpg

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

这里只有正则表达式解决方案吗?

2 个答案:

答案 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);