15

次の文字列が与えられた

http://thedude.com/05/simons-cat-and-frog-100x100.jpg

substr私はこれを返すためにまたはtrim(またはあなたがより適切だと思うものは何でも)使用したいと思います

http://thedude.com/05/simons-cat-and-frog.jpg

つまり、を削除し-100x100ます。必要なすべての画像には、ファイル名の末尾、拡張子の直前にタグが付けられています。

これに対する応答はSOreRubyとPythonにあるようですが、PHP/私のニーズに固有のものではありません。

文字列の左側を削除するにはどうすればよいですか?

文字列の先頭からn文字を削除します

文字列から部分文字列を削除します

助言がありますか?

4

4 に答える 4

26

幅/高さの値を一致させたい場合:

  $path = "http://thedude.com/05/simons-cat-and-frog-100x100.jpg";

  // http://thedude.com/05/simons-cat-and-frog.jpg
  echo preg_replace( "/-\d+x\d+/", "", $path );

デモ:http ://codepad.org/cnKum1kd

使用されるパターンはかなり基本的です。

/パターンの開始を示します
-リテラル-文字
\ d + 1桁、1回以上
xリテラルx文字
\ d + 1桁、1回以上
/パターンの終わりを示します
于 2012-05-27T02:41:41.987 に答える
23
$url = "http://thedude.com/05/simons-cat-and-frog-100x100.jpg";
$new_url = str_replace("-100x100","",$url);
于 2012-05-27T02:38:00.650 に答える
9
$url = str_replace("-100x100.jpg", '.jpg', $url);

-100x100.jpg防弾ソリューションに使用します。

于 2012-05-27T02:46:31.203 に答える
3

-100x100すべての文字列から削除しようとしている文字が1つしかない場合は、使用してみませんstr_replaceか?

$url = "http://thedude.com/05/simons-cat-and-frog-100x100.jpg";
str_replace("-100x100", "", $url);
于 2012-05-27T02:38:00.643 に答える