SOにも同様の 質問がありますが、これとまったく同じものは見つかりませんでした。特定の区切り記号まで (および含む) すべてを削除する必要があります。たとえば、文字列 が与えられた場合、File:MyFile.jpg
までのすべてを削除して:
、 のみが残るようにする必要がありMyFile.jpg
ます。前もって感謝します!
質問する
8052 次
7 に答える
9
この preg_replace 呼び出しを使用します。
$str = 'File:MyFile.jpg';
$repl = preg_replace('/^[^:]*:/', '', $str); // MyFile.jpg
または、正規表現を避けて、次のように爆発を使用します。
$repl = explode(':', $str)[1]; // MyFile.jpg
編集:正規表現を回避するには、この方法を使用します(文字列に複数の : が存在する可能性がある場合):
$arr = explode(':', 'File:MyFile.jpg:foo:bar');
unset($arr[0]);
$repl = implode(':', $arr); // MyFile.jpg:foo:bar
于 2013-04-19T12:36:55.743 に答える
4
編集:これは正常に動作します。
$str = "File:MyFile.jpg";
$str = substr( $str, ( $pos = strpos( $str, ':' ) ) === false ? 0 : $pos + 1 );
于 2013-04-19T12:37:04.597 に答える
1
これを行うために使用できますexplode
: link。
何かのようなもの:
$string = "File:MyFile.jpg";
list($protocol,$content) = explode(":", $string);
echo $content;
于 2013-04-19T12:37:27.187 に答える
0
2 つの簡単な方法:
$filename = str_replace('File:', '', 'File:MyFile.jpg');
また
$filename = explode(':', 'File:MyFile.jpg');
$filename = $filename[1];
于 2013-04-19T12:37:29.747 に答える
0
サンプル文字列:
$string = 'value:90|custom:hey I am custom message|subtitute:array';
文字列を配列に変換する
$var = explode('|', $string);
チェック結果:
Array(
[0] => value:90
[1] => custom:hey I am custom message
[2] => subtitute:array)
配列変数を宣言する
$pipe = array();
文字列配列 $var をループする
foreach( $var as $key => $value ) {
// get position of colon
$position = strrpos( $value, ':' );
// get the key
$key = substr( $value, 0, $position );
//get the value
$value = substr( $value, $position + 1 );
$pipe[$key] = $value; }
最終結果:
Array(
[value] => 90
[custom] => hey I am custom message
[subtitute] => array)
于 2015-03-30T15:24:40.210 に答える