【问题标题】:How can I remove latest word of string with PHP?如何使用 PHP 删除字符串的最新单词?
【发布时间】:2025-11-21 20:40:01
【问题描述】:

我想获得前 50 个字符,并想用一个词来结束它。 所以我得到了$dis=substr($dis, 0, 50);的前50个字符 而且我不知道如何删除最新的单词。

我的文字:

你会发现,真相往往不受欢迎,竞争激烈 令人愉快的幻想和令人不快的事实之间是不平等的。

前 50 个字符:

“你会发现真相往往不受欢迎”

前 51 个字符:

“你会发现真相往往不受欢迎,而且”

(前 50 个字符)-(最新单词):

“你会发现真相往往不受欢迎”

【问题讨论】:

  • 你的预期输出是什么?
  • @ShankarDamodaran 我认为OP不想突然结束这句话,可能第三句是想要的结果。
  • str_split();一个forloop就可以了
  • forloop $dis[0] 到 $dis[49]

标签: php char character word


【解决方案1】:

您可以使用strrpos() 函数查找字符串中的最后一个空格。

substr($dis, 0, strrpos($dis, " "));  

【讨论】:

  • 感谢您的帮助,祝您好运。
【解决方案2】:

您可以通过空格字符分解缩短的字符串,然后删除数组的最后一个元素并将单词内爆回字符串。

您可以使用array_pop(参见:http://uk3.php.net/array_pop)删除数组的最后一个元素。

$dis    = substr($dis, 0, 50);
$words  = explode(' ', $dis);
$words  = array_pop($words);
$string = implode(' ', $words);

【讨论】:

  • 感谢您的帮助。但这对第 4 行不起作用且出错。