PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP在字符数限制上切字符串大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在创建一个使用Faker Factory生成演示数据的博客.我有一个生成的帖子模型,它具有一个包含随机生成HTML的正文字段以及一个文本字段,该文本字段是通过从正文中剥离标签并将接收到的数据限制为512个字符而创建的. str_limit可以正常工作,只是我需要将一个单词的文本剪掉,同时将其保持在512个限制内.

这是我的工厂:

<?PHP

use Faker\Generator as Faker;

$factory->define(Provar\Forum\Post::class, function (Faker $faker) {

   $randomHTML = Purifier::clean($faker->randomHtml(2,3));

   $trimedHTML = Strip_tags($randomHTML);

   return [
      'body' => $randomHTML,
      'text' => str_limit($trimedHTML, 509, '...')
   ];

});

任何帮助表示赞赏. < 3

解决方法:

您可以尝试使用类似的方法,但这可能会使您措手不及

substr($trimedHTML, 0, 512) . '...'

如果您不希望最后一个单词被切掉,则可以执行以下操作,但始终不能准确地给您512个字符,因为下一个单词可能太大…

$text=$trimedHTML;
if (preg_match('/^.{1,512}\b/s', $trimedHTML, $match))
{
    $text=$match[0] . ( strlen($match[0]) < strlen($trimedHTML) ? "..." : "" );
}

并使用$text变量代替str_limit($trimedHTML,509,’…’)

代码与此答案中的代码完全相同:
Making sure PHP substr finishes on a word not a character
尽管这可能被认为是“另一个问题”,所以…

大佬总结

以上是大佬教程为你收集整理的PHP在字符数限制上切字符串全部内容,希望文章能够帮你解决PHP在字符数限制上切字符串所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: