如何在PHP输出中包装单词?

时间:2016-10-15 07:16:53

标签: php

我想在特定的行中打印特定的单词字符(做一些像自动换行)

假设我有40个角色。

我的名字是Johnty,我正在吃坚果

我的角色长度是20。

所以在第一行我想要打印20个字符,但如果它会破坏这个单词,那么整个单词将在下一行打印。

例如,我在第一行中有20个字符长度,而不是像这样打印:

@Override 
public void onReceive(Context context, Intent intent) {
    ArrayList<Transit> myList;

    Bundle extra = intent.getBundleExtra("extra");
    ArrayList<Transit> transArrayListFromBroadCast = (ArrayList<Transit>) extra.getSerializable("transArray");
    // System.out.print("transArrayListFromBroadCast "+transArrayListFromBroadCast);
} 

相反,我想要以下输出:

First Line : My Name Is Johnty an
Second Line : d i am eating an Nut

那么如何在Simple PHP中做到这一点?

先谢谢

2 个答案:

答案 0 :(得分:2)

wordwrap - 将字符串包含在给定数量的字符中。 wordwrap

<?php
    $text = "My Name Is Johnty and i am eating an Nut";
    $newtext = wordwrap($text, 20, "<br />\n");

    echo $newtext;
    ?>

<强>输出:

My Name Is Johnty
and i am eating an
Nut

编辑1:

是,您可以在拆分字符串后将其保存在变量中。您必须在explode()方法内使用wordwrap()才能执行此操作。

      $strText = "My Name Is Johnty and i am eating an Nut"; //here ur string 
         // Wrap lines limited to 20 characters and break
         // them into an array
      $lines = explode("\n", wordwrap($strText, 20, "\n"));
      var_dump($lines);
      $one=$lines;
      print_r($one[0]);

<强>输出:

$ 1 [0],

My Name Is Johnty

$ 1 [1],

and i am eating an

答案 1 :(得分:0)

通过使用wordwrap(),您可以将字符包装在单词中。

示例:

$string = "My Name Is Johnty and i am eating an Nut";
echo wordwrap($string, 20, "<br />\n")

<强>输出:

My Name Is Johnty
and i am eating an
Nut

有关 - wordwrap() in http://php.net/

的详细信息

<强>更新

$string = "My Name Is Johnty and i am eating an Nut";
$arr = explode(PHP_EOL, wordwrap($string, 20, "\n\r"));

print_r($arr);