gpt4 book ai didi

php - 如何在 PHP 中使用 substr() 捕获完整的单词,按单词限制?

转载 作者:可可西里 更新时间:2023-11-01 12:27:30 25 4
gpt4 key购买 nike

当我使用 substr($string,0,100) 时,它会给出前 100 个字符。有时它会使最后一个词不完整。这看起来很奇怪。我可以按单词而不是字符来限制吗?

最佳答案

如果您只计算字数,结果字符串可能仍然很长,因为单个“字”可能有 30 个或更多字符。我建议将文本截断为 100 个字符,除非这会导致单词被截断,那么您还应该删除该单词的截断部分。这个相关问题涵盖了这一点:

How to Truncate a string in PHP to the word closest to a certain number of characters?

使用 wordwrap

$your_desired_width = 100;
if (strlen($string) > $your_desired_width)
{
$string = wordwrap($string, 100);
$i = strpos($string, "\n");
if ($i) {
$string = substr($string, 0, $i);
}
}

这是答案 here 的修改版本.如果输入文本可能很长,您可以在调用 wordwrap 之前添加此行,以避免 wordwrap 必须解析整个文本:

$string = substr($string, 0, 101);

使用正则表达式 (Source)

$string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, 100));

关于php - 如何在 PHP 中使用 substr() 捕获完整的单词,按单词限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com