Php 统计已发布字符串中的行数
我试过这个: 但它似乎不起作用:Php 统计已发布字符串中的行数,php,count,lines,Php,Count,Lines,我试过这个: 但它似乎不起作用: $content = nl2br($_POST['text']); preg_match_all("/(<br>)/", $content, $matches); echo count($matches[0]) + 1; $content=nl2br($_POST['text']); preg_match_all(“/()/”,$content,$matches); 回声计数($matches[0])+1; 它将始终输出1 是否有其他解决方案可
$content = nl2br($_POST['text']);
preg_match_all("/(<br>)/", $content, $matches);
echo count($matches[0]) + 1;
$content=nl2br($_POST['text']);
preg_match_all(“/(
)/”,$content,$matches);
回声计数($matches[0])+1;
它将始终输出1
是否有其他解决方案可以计算字符串中的行数?在我的一个旧应用程序中找到了此解决方案。。。不知道我从哪里弄来的
$lines_arr = preg_split('/\n|\r/',$str);
$num_newlines = count($lines_arr);
echo $num_newlines;
*编辑-事实上,如果你的文本区域正在吐出html,这可能不起作用。。检查
和
您可以尝试以下方法:
$count = substr_count($_POST['text'], "\n") + 1;
或:
您是否检查了nl2br是否改为输出
?在firebug中,它显示
。输出$content,它可能将换行符转换为firebug不显示实际标记,因此不要相信它。谢谢!它工作得很好。如果有人会寻找解决办法:我刚刚改变了你的注册。扩展到:
preg_split('/(
)/',$str)代码>。没问题。您可能希望点击此答案旁边的绿色复选框,以便人们知道它已被回答。编辑答案以考虑\r\n和\n\r否则,这是一个极好的答案。我也需要这个。嘿,在正则表达式中有\r
的原因吗?我不确定当文件很大(例如250 MB)时,这是否是最好的选择
$count = count(explode("\n", $_POST['text']));
count( explode(PHP_EOL, $str) );