函数在x个字符后爆炸(),而不是标点符号

时间:2014-05-31 22:17:47

标签: php

我正在创建一个应用程序,用户希望尽可能正确地键入文本。文本来自数据库,并放在一个字符串中。我在div中显示字符串,如果字符串的长度为div,我想将其拆分。我知道之前有类似的问题,但我还没有找到解决问题的方法。

这就是我想要做的事情:

Atm会发生这种情况:

--------------------
| The displayed str|ing 
--------------------

我想要这个:

--------------------
| The displayed st | 
--------------------

到目前为止,这是我的代码:

while ($row = mysqli_fetch_array($result)) {
    $textline = explode(".", $row["text"]);
}

$i = 0;

foreach ($textline as $o) {
   $letters = str_split_unicode($letters[$i], 1);
   if (ctype_space($letters[0])) {
         unset($letters[0]);
   }
   foreach ($letters as $l) {
      if (ctype_space($l)) {
         echo "<p>&nbsp;</p>";
      } else {
        echo "<p>$l</p>";
      }
   }
            $i++;
}

总结一下:我想在&#39; x&#39;之后拆分字符串。字符,而不是&#39;。&#39;现在是

//编辑:

代码在标点符号处拆分文本拆分,但我希望它在&#34; x&#34;之后拆分。字符

现在它像这样拆分:

This is a sentence. 
This is another sentence. 
This is a third sentence.

但是我希望它能像这样分开:

This is a sent
ence. This is 
another senten
ce. This is a 
third sentence
.

这里它分成14个字符(包括空格)。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,这将有效。替换此代码:

while ($row = mysqli_fetch_array($result)) { 
$textline = explode(".", $row["text"]); 
} 

有了这个:

while ($row = mysqli_fetch_array($result)) {
$string = $row['text']; $string = wordwrap($string, 80, ";;;;", true); 
$oppgavelinjer = explode(";;;;", $string); 
} 

只要文本连续不包含4个分号,你就可以更好地替换80&#39; 80&#39;你想要的长度