如何替换PHP变量中的多个值,如清理它

时间:2017-04-18 12:40:52

标签: php

我对PHP完全不熟悉并且防止任何攻击并在我试图清理的变量中存储正确的值,修剪空格并删除任何非法字符。我有一个变量

$value = "this, <script></script>, 's 18in,";

上述变量包含许多不需要的字符,例如, blank space<> tags

我想要做的是我想从字符串中删除所有无效字符,并使其成为纯字体字符串,只有字母或数字,如

$value = "thiss18in"; <= after sanitization

任何人都可以帮我解释这个逻辑吗?

3 个答案:

答案 0 :(得分:2)

看到你可以使用这个逻辑:

$value = "this, <script></script>, 's 18in,";
$newString = trim(preg_replace('/[^a-z0-9]/i', '', $value));

如果preg_replace函数将处理它的字符串中有任何空格,trim将替换所有无效字符并仅提供纯格式的字符和数字字符串。

我已经从这个问题中引用并根据您的需要进行编辑。 Link =&gt; How do I write a regex in PHP to remove special characters?

答案 1 :(得分:1)

$value = "this, <script></script>, 's 18in,";
$value = strip_tags($value);
$newString = preg_replace('/[^a-z0-9]/i', '', $value);
echo $newString;

Demo

参考:How do I write a regex in PHP to remove special characters?

答案 2 :(得分:0)

尝试在现代php版本中使用php filter extension

或者尝试将功能htmlentitiesstrip_tagsmysqli-real-escape-string结合起来。

我认为这是你能找到的最完整的答案。 What are the best PHP input sanitizing functions?