计算已发布字符串中的行数

时间:2011-10-31 14:52:23

标签: php count lines

我试过这个:count new lines in textarea to resize container in PHP?

但它似乎没有起作用:

$content = nl2br($_POST['text']);
preg_match_all("/(<br>)/", $content, $matches);

echo count($matches[0]) + 1;

它始终输出1

是否有其他解决方案来计算字符串中的行?

3 个答案:

答案 0 :(得分:12)

在我的一个旧应用程序中找到了这个...不确定我从哪里获得它。

$lines_arr = preg_split('/\n|\r/',$str);
$num_newlines = count($lines_arr); 
echo $num_newlines;

*编辑 - 实际上,如果你的textarea正在吐出html,这可能不会起作用..检查<br> and <br/>

答案 1 :(得分:9)

你可以试试这个:

$count = substr_count($_POST['text'], "\n") + 1;

或:

$count = count(explode("\n", $_POST['text']));

答案 2 :(得分:6)

count( explode(PHP_EOL, $str) );