删除字符串中的换行符和回车符

问题描述 投票:0回答:2

我正在尝试计算文本区域中的字符数,但它也计算“ “ 和 ” " 作为字符;我如何删除它们以便只计算实际的文本输入?

$pure_chars = preg_replace("/\r\n/", "", $_POST['comment']);
echo strlen($pure_chars);
php preg-replace newline carriage-return
2个回答
2
投票
$pure_chars = preg_replace('/[\r\n]+/','', $string)

请注意,您仍在计算空格、标点符号等,因此这实际上是决定您真正想要计算的内容的问题。如果您想排除任何非字母或数字的内容,请使用

/\W/


0
投票

您可以使用

\v
删除所有垂直空格,或使用与 \R
\n
\r
匹配的
\r\n
 元字符
删除所有换行符序列(无论操作系统如何)。

我建议使用“一个或多个”量词

+
,这样可以进行更长的潜在匹配,从而减少潜在的替换。

$pure_chars = preg_replace('/\v+/', '', $_POST['comment']);

$pure_chars = preg_replace('/\R+/', '', $_POST['comment']);

这里是 \R 的流行演示。

© www.soinside.com 2019 - 2024. All rights reserved.