PHP - 在分隔符后返回所有内容

Sop*_*rus 5 php string

在SO中有类似的 问题,但我找不到任何完全相同的问题.我需要删除所有(包括)特定分隔符的内容.例如,给定字符串File:MyFile.jpg,我需要删除所有内容:,以便我只留下MyFile.jpg.提前致谢!

anu*_*ava 8

使用此preg_replace调用:

$str = 'File:MyFile.jpg';
$repl = preg_replace('/^[^:]*:/', '', $str); // MyFile.jpg
Run Code Online (Sandbox Code Playgroud)

或者避免正则表达式并使用像这样的爆炸:

$repl = explode(':', $str)[1]; // MyFile.jpg
Run Code Online (Sandbox Code Playgroud)

编辑:使用这种方式来避免正则表达式(如果可以有多个:在字符串中):

$arr = explode(':', 'File:MyFile.jpg:foo:bar');
unset($arr[0]);
$repl = implode(':', $arr); // MyFile.jpg:foo:bar
Run Code Online (Sandbox Code Playgroud)


Rav*_*wat 4

编辑:这个效果很好。

$str = "File:MyFile.jpg";
$str = substr( $str, ( $pos = strpos( $str, ':' ) ) === false ? 0 : $pos + 1 );
Run Code Online (Sandbox Code Playgroud)

  • 仅代码答案并没有多大帮助。请添加一些解释。 (2认同)