イメージ名をすべて小文字にすることに加えて、スペースをダッシュに変更したいと思います。イメージ名から空白を削除するにはどうすればよいですか?
<img src="/SC/images/<?php echo strtolower(the_title('','',false)); ?>-header.jpg" border="0" />
イメージ名をすべて小文字にすることに加えて、スペースをダッシュに変更したいと思います。イメージ名から空白を削除するにはどうすればよいですか?
<img src="/SC/images/<?php echo strtolower(the_title('','',false)); ?>-header.jpg" border="0" />
シンプルなスペースが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));
を、我々は文字を許可しますaz、0〜9の数字、ピリオド、および下線 - 他のすべての文字列は1つのダッシュに置き換えられます。ファイル名は、置換機能を実行する前にすべて小文字に変換されます。
次のような出力をstr_replaceでラップするだけです。
消毒用<img src="/SC/images/<?php echo str_replace(" ", "-", strtolower(the_title('','',false))); ?>-header.jpg" border="0" />
パーフェクト!ありがとうございました! – jaredroweseo
echo strtolower(preg_replace('/[^a-zA-Z0-9\-]/', '', preg_replace('/\s/g', '-', the_title('', '', false))));
これは、すべての英数字以外の文字を削除します。
しかし、現在のstrtolower呼び出しを保持する方法を知る必要があります。 – jaredroweseo
これはうまくいくはずです(前後に下げることは重要ではありません)が、最初にダッシュするスペースが必要であるという事実には触れません。 – buley
このような交換がどのように役立つかはわかりません。
名前にスペースが含まれている実際の画像がある場合は、置き換え後に表示されません。
urlencode()
で正しくエンコードする必要があります。
イメージ名を置き換える場合は、リンク上ではなく画像上で行う必要があります。
リンク上ではなく画像上で行わなければならない "サニタイズ"が必要な場合は、
あなたはURIの一部をコードする場合 - urlencode()
を使用するすべてのプログラマのアクションがsanely選択しなければ、単にランダムにどこ
の選び出していないあなたは
move_uploaded_file($_FILES["file"]["tmp_name"],"product_image/" . str_replace(" ","_",$_FILES["file"]["name"]));
を試すことができ、我々はそれを作ることができますstrtolowerとstr_replaceの両方で動作しますか? – jaredroweseo
@ user1373974この解決策で 'strtolower'を使用する例については、私の更新を見てください。 – Sampson