0

画像名をすべて小文字にすることに加えて、スペースをダッシュ​​に変更したいと思います。

<img src="/SC/images/<?php echo strtolower(the_title('','',false)); ?>-header.jpg" border="0" />
4

6 に答える 6

2

あなたが試すことができます

 move_uploaded_file($_FILES["file"]["tmp_name"],"product_image/" . str_replace(" ","_",$_FILES["file"]["name"]));
于 2013-06-07T12:42:57.070 に答える
1

単純なスペースは、次を使用して削除できますstr_replace()

$image = "foo and bar.png";

// foo-and-bar.png
echo str_replace( " ", "-", $image );

より複雑な検索/置換は、正規表現を使用して実行できます。

$image = "foo2   and_ BAR.png";

// foo2-and_-bar.png
echo preg_replace( "/[^a-z0-9\._]+/", "-", strtolower($image) );

この例では、文字 a ~ z、数字 0 ~ 9、ピリオド、および下線を使用できます。その他のすべての文字列は、1 つのダッシュに置き換えられます。ファイル名は、置換関数を実行する前にすべて小文字に変換されます。

于 2012-05-04T04:27:38.187 に答える
0

サニタイズのための私のお気に入りの正規表現:

echo strtolower( preg_replace( '/[^a-zA-Z0-9\-]/', '', preg_replace( '/\s/g', '-', the_title( '', '', false ) ) ) );

これにより、英数字以外の文字がすべて削除されます。

于 2012-05-04T04:32:32.600 に答える
0
echo str_replace(' ', '-', strtolower(the_title('','',false)));
于 2012-05-04T04:30:48.027 に答える
0

次のような str_replace で出力をラップするだけです。

<img src="/SC/images/<?php echo str_replace(" ", "-", strtolower(the_title('','',false))); ?>-header.jpg" border="0" />
于 2012-05-04T04:27:55.740 に答える
0

そのような置換がどのように役立つかわかりません。
名前にスペースが含まれる実際の画像がある場合、置換後に表示されません。代わり
に適切にエンコードする必要がありますurlencode()

画像名を置き換えたい場合は、リンクではなく画像で行う必要があります。
「サニタイズ」が必要な場合は、リンクではなく画像で行う必要があります。
URI部分をエンコードしたい場合 - 使用urlencode()

すべてのプログラマーの行動は、どこからともなくランダムに選ばれるだけでなく、正気で選ばれなければなりません

于 2012-05-04T04:42:45.933 に答える