我试过这个: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
。
是否有其他解决方案来计算字符串中的行?
答案 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) );