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

正規表現を使用したオプションの 1 つを次に示します。

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