3个字后再剪裁字符串

时间:2018-08-07 14:56:40

标签: php

我有以下字符串:

$msg = "Hello, my name is John!";

我想基本上裁掉前三个单词,并将其余的单词存储在字符串中。

我将如何实现?会使用explode函数吗?

最终,$remainder等于:is John!

2 个答案:

答案 0 :(得分:0)

您可以尝试使用preg_replace

<?php

$msg = "Hello, my name is John!";
var_dump(preg_replace("/^([\w]+[,]?\s+){3}/", "", $msg));

结果:

string(8) "is John!"

也许您需要稍微改善一下正则表达式,因为这里写了:
至少1个字符a-z, A-Z, 0-9, _
后跟可选的,(逗号)
后跟至少1个空格。

答案 1 :(得分:0)

正如您所说-可以使用爆炸。

https://ideone.com/qpzwnV

$msg = "Hello, my name is John!";

$arr = explode(' ',$msg);
if(count($arr)<=3) {
    echo 'Trimmed: (empty)';
} else {
    for ($i=0;$i<3;$i++) array_shift($arr);
    echo 'Trimmed: '.implode($arr, ' ');
}

PS:但是,为什么您完全需要它?