【发布时间】:2016-04-19 03:28:27
【问题描述】:
在下面的表格中添加时,我一直在尝试替换/删除任何特殊字符。像这样的字符:+-()*&^%$#@!~
我一直在尝试使用 preg replace 来做到这一点,但我无法让它工作。我写的代码如下。我错过了什么吗?
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<form method="post" action="kenteken.php">
<input type="text" name="kenteken" />
<input type="submit" name="verzend" value="Check kenteken" />
</form>
<?php
// Include de benodigde classes
include_once 'api/loader.php';
// Kijken of er een kenteken is ingevoerd.
if(!isset($_POST["kenteken"])) {
echo 'Geen kenteken ontvangen. Ga terug er probeer opnieuw!';
exit;
} else {
// Witte characters (spaties) weghalen
$k = trim($_POST["kenteken"]);
$k2 = preg_replace('/[^A-Za-z0-9\-]/', '', $k);
// Kijken of kenteken leeg is met spaties
if(empty($k2)) {
echo 'Geen kenteken ingevoerd. Ga terug er probeer opnieuw!';
exit;
} else {
header("Location: http://domain.nl/kenteken/?kenteken=$k2");
}
}
?>
</body>
</html>
【问题讨论】:
-
是为重定向制作可用网址的唯一目的吗?
-
嗨@The avon guy,是的,它需要重定向到一个url。例如,当用户发布 46-hps-1 时,它需要返回如下 URL:domain.com/VRTG.Open.Data/v1/KENT_VRTG_O_DAT('46HPS1')?$format=json
-
header永远不会与已经输出的内容一起使用。您可以使用php.net/manual/en/function.urlencode.php,然后对特殊字符进行编码。