【问题标题】:How do you find a line break in php?你如何在php中找到换行符?
【发布时间】:2011-08-23 19:00:09
【问题描述】:

对不起,我对 PHP 还不是很好,我尝试了这个来找到它,然后将每一行放入一个数组中

$translate="this
is in
multiple
lines";
$lastBreak=0;
$it=array();
$ci=0;
for ($i=1;$i<strlen($translate);$i++) {
    if strchr(substr($translate,$i,$i),"\n") {
        $it[$ci]=substr($translate,$lastBreak+1,$i-1);
        $ci+=1;
        $lastBreak=$i;
    }
}

帮助?

【问题讨论】:

    标签: php arrays string


    【解决方案1】:
    $it = explode("\n", $translate);
    

    http://php.net/explode

    :)

    【讨论】:

    • 谢谢,不知道。
    • 要处理所有行分隔符,请在 preg_split 中使用正则表达式:$arry_lines = preg_split("/[\r|\n]+/", $translate);
    【解决方案2】:

    更新:

    它可能会产生意外的换行符,这种变化可能会有所帮助:

    $arry_lines = explode("[\n|\r]", $translate);
    

    【讨论】:

    • split is deprecated 自 PHP 5.3 起,不应再使用。
    • explode 函数不允许使用正则表达式。改用 preg_split: $arry_lines = preg_split("/[\r|\n]+/", $translate);
    【解决方案3】:

    您可以执行 $string = nl2br($string) 以便将换行符更改为

    <br />. 
    

    然后你可以操作字符串,例如通过

    的第一次出现将其拆分
    <br />
    

    像这样:

    list($first, $second) = explode('<br />', $string, 2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 2014-06-07
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      相关资源
      最近更新 更多