如何使用PHP从文本字段中删除特殊字符和空格

12

我需要在正在构建的表单的文本字段中删除所有特殊符号和空格。我该如何在PHP中实现这一点。

3个回答

40

这主要取决于情况,我假设你正在使用 $_POST[] 数据并希望对这些输入进行过滤?如果是这样,我一定会做以下操作:

$var = preg_replace("/[^A-Za-z0-9]/", "", $var);
那样会除去除字母数字之外的所有内容,如果需要,您可以调整正则表达式以包括其他字符。一些常用正则表达式的很好的例子可以在RegEx库中找到。如果这不完全是您想要的或者有其他问题,请告诉我们。

是的,我正在使用$_POST数据,我目前拥有的确切代码如下:<input type="text" name="trTrPath" id="trTrPath" value="<?php echo KT_escapeAttribute($row_rstribute['trTrPath']); ?>" size="32" /> <?php echo $tNGs->displayFieldHint("trTrPath");?> <?php echo $tNGs->displayFieldError("tribute", "trTrPath"); ?> 我该如何将建议的代码添加到其中?谢谢您的帮助! - Benny
正则表达式中缺少模式分隔符。 - Matteo Riva
Kemp,请问您能否展示一下这段代码中确切缺失了什么? - Benny
Benny:正斜杠丢失了,现在已经修复。 - niczak
@Benny 或许经过这么多年,这个答案现在可以被接受了? ;) - niczak

10

在处理数据时,请使用以下正则表达式:

$data = preg_replace('/[^A-Za-z0-9]/', "", $data);

这将从数据中删除所有非字母数字字符。


正则表达式中缺少模式分隔符。 - Matteo Riva

8
$specialChars = array(" ", "\r", "\n");
$replaceChars = array("", "", "");

$str = str_replace($specialChars, $replaceChars, $str);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接