【发布时间】:2014-07-03 00:45:09
【问题描述】:
我正在尝试计算文本区域中的字符,但它也将“\n”和“\r”视为字符;我将如何删除它们以便只计算实际的文本输入?
$pure_chars = preg_replace("/\r\n/", "", $_POST['comment']);
echo strlen($pure_chars);
【问题讨论】:
-
新行计入内容长度(即它们计为数据)。只是好奇在什么上下文中空格和标点符号是相关的,但换行符不会。
-
@Anthony 可能有些人将返回/输入作为单独的行,以制作新的段落类型;至少这是我的看法,并且 OP 不希望那些被计算在内。
-
问题在于它将新行计为 2 个字符(我猜是因为它是“\n”加上“\r”,而不是 1(或者可能 0 会更好)
-
这样比较有道理,但是如果有回车换行的话,还是使用数据。我想知道字符数用于您不会计算所有字符的地方。如果设置上限,实际数据将超过清理的计数。如果要确定字数或类似内容,则还应考虑空格和标点符号。如果您想节省空间,您希望规范化或删除字符,而不是在没有它们的情况下获得计数。
标签: php preg-replace newline carriage-return