我怎樣才能在下面的變量,它包含字符串如何劃分的字符串在PHP
添加分隔;
我有串這樣的:
$filename = "a.jpg3c.pngyes.jpg";
我想有像
a.jpg;3c.png;yes.jpg
此字符串在我選擇要上載的多個文件時創建。
是正則表達式在這裏唯一的解決方案嗎?
我怎樣才能在下面的變量,它包含字符串如何劃分的字符串在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
編輯:你的具體情況,我會在分號的文件名後,你的循環內添加。
很好的答案!我可以在幾分鐘內接受 – 2013-04-23 21:32:37
這是迄今爲止最好的解決方案。 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