我在html中有表单,用户可以在其中将文本放在文本区域中。
我将文本区域的内容保存到MySQL数据库中(在TEXT类型的字段中)。
然后,在我的应用程序中的某个地方,我需要加载该文本并将其放入数组,其中每个索引将是文本的一行。

<textarea rows="10" cols="80">
Row one
Row two
Row tree
</textarea>

array (output in "php pseudocode"):
$array = array();
$array[0] = Row one;
$array[1] = Row two;
$array[2] = Row tree;


我该怎么做:
我将其保存到数据库,然后加载并使用:

$br = nl2br($string,true);
$array = explode("<br />", $br);


我使用nl2br的原因是我想避免来自不同平台的文本行尾出现问题。我的意思是/ n或/ r / n。
但是在我的解决方案中一定是某个错误导致原因不起作用(数组$ array为空)。

更好的解决方案可能是以某种方式使用explode或类似的方式将其拆分为数组,并使用换行符模式,但这又是从换行符开始的问题,我不知道如何解决(\ n或\ r \的问题n)。

有人可以给我建议吗?谢谢。

最佳答案

我建议您跳过nl2br,直到准备好将数据实际发送到客户端为止。解决您的问题:

// $string = $get->data->somehow();
$array = preg_split('/\n|\r\n/', $string);

关于php - 在php中处理新行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40716573/

10-12 02:26