如何在不带 explode() 的情况下从字符串开头删除单词


How to Remove Words from Beginning of String Without explode()

我想从字符串中删除前三项,但问题是我无法使用substr(),因为我不知道每个单词可能包含多少个字符,因为数据来自UI

即;

$str = A big brown fox jumped over the log;
    $str = A slow red fox jumped over the log;
    $str = An enthusiastic brown fox jumped over the log;

我想删除前三个单词(包括空格),以便新字符串以"fox"开头,然后我计划将此数据存储在新变量中。

我希望有一种更简单的方法,而不是将其分解并从数组中删除 0,1 和 2,所有这些都我不熟悉,如果有人知道如何一行,我将不胜感激,如果您愿意与我分享。

假设在空格上进行简单的拆分以区分单词

$str = 'A big brown fox jumped over the log';
$rest = preg_split('/ /',$str, 4)[3];

修改正则表达式,如果您还想调整标点符号

如果您使用的是不支持数组取消引用的 PHP 版本:

$str = 'A big brown fox jumped over the log';
$split = preg_split('/ /',$str, 4);
$rest = $split[3];
echo implode(' ', array_slice(explode(' ', $str), 3));

输出将针对所有三个字符串fox jumped over the log

演示!