【问题标题】:Is there a PHP function for cutting a string into sections without cutting words?是否有一个 PHP 函数可以将字符串分割成多个部分而不切割单词?
【发布时间】:2011-11-16 09:02:06
【问题描述】:

我正在尝试找到一个 php 函数,它将接受一个字符串和一个长度数字,并且在字符串中的那个长度会剪切它,但如果它在一个单词的中间则不会,只有当它是一个空格时,并将检查最近的空间。

它也将不断地执行此操作并返回原始字符串有多长的字符串数组(即,如果原始字符串的长度约为 240,而我想削减 80 左右,则该数组将是 3 个大字符串)。

我找到了几个函数,但没有一个能做到这一点,而且我在创建自己的函数时遇到了麻烦。

【问题讨论】:

  • 你可以包含你找到的函数,也许一些调整会有所帮助。

标签: php string function string-length


【解决方案1】:

wordwrap 函数将字符串拆分为最多给定字符数的行。

它会处理单词并且不会在单词中间插入(除非告诉它)。

您可以使用它并按行分割字符串:

$string = wordwrap($string, 42);
$lines = explode("\n", $string);

【讨论】:

  • PHP 有非常棒的内置函数和语言对比。
  • 当你知道它的语言并没有那么糟糕
  • 你先生,真棒。非常感谢!
【解决方案2】:

你想要wordwrap()

wordwrap (string $str, int $width = 75, string $break = "\n" , bool $cut = false)

重要的是确保您拥有$cut = false,这样它就不会将单词分成两部分(这是默认设置)。

【讨论】:

    【解决方案3】:

    使用wordwrap()进行换行,然后你可以explode()换行符上的字符串以数组格式获取。

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2013-06-29
      相关资源
      最近更新 更多