如何划分的字符串在PHP
问题描述:
我怎样才能在下面的变量,它包含字符串如何划分的字符串在PHP
添加分隔;
我有串这样的:
$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
编辑:你的具体情况,我会在分号的文件名后,你的循环内添加。
+0
很好的答案!我可以在几分钟内接受 – 2013-04-23 21:32:37
+0
这是迄今为止最好的解决方案。 Str替换>正则表达式 – Tristan 2013-04-23 21:33:44
答
下面是使用正则表达式一个选项:
$filename = "a.jpg3c.pngyes.jpg";
$regex = '/\.(jpg|png|gif)(?!$)/';
$filename = preg_replace($regex, ".$1;", $filename);
,你会怎么能够告诉你了那里3名,而不是两个文件是(比方说)“A.JPG。 3c.png“和”yes.jpg“?或其他一些组合? “a.jpg3”,“c.png”,“是”和“.jpg”? – 2013-04-23 21:24:08
......这是这里的许多问题之一...让我粘贴一些代码 – 2013-04-23 21:25:02
因此,您的上传代码将所有文件连接成一个没有分隔符的单个字符串。你是否考虑过,首先不这样做?你可以使用一个简单的3元素数组。 “ – 2013-04-23 21:32:40