我有以下字符串:
$msg = "Hello, my name is John!";
我想基本上裁掉前三个单词,并将其余的单词存储在字符串中。
我将如何实现?会使用explode
函数吗?
最终,$remainder
等于:is John!
答案 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)
正如您所说-可以使用爆炸。
$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:但是,为什么您完全需要它?