如何填写从表单收到的网址

时间:2013-11-23 10:30:59

标签: php html

我使用HTML中的表单元素将用户的输入作为输入:

<form action="parse.php" method="post">
        Web address :
        <input type="text" name="addr">
        <input type=submit value="Go">
</form>

问题是用户可以使用以下任何格式输入网址:

google.com
www.google.com
http://www.google.com

无论用户输入什么内容,我都希望网址格式为http://www.google.com

除了检查所有可能性之外,在php中实现此功能的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

您必须检查所有可能性或使用正则表达式来测试其有效性。

或者,您可以使用客户端Javascript验证输入。

最后,您可以检查协议的URL输入,如果不存在,则默认为“http://”,并将其添加到URL字符串中。

答案 1 :(得分:0)

这些方面的某些内容应该稍微调整一下:

$address = htmlspecialchars($_POST['addr']);

if (substr($address, -3, 3) != 'com') {
    $address = $address.".com";
}
if (substr($address, 0, 7) != 'http://') {
    $address = "http://".$address;
}

echo $address;

首先,从表单中获取输入并进行santizied。然后,substr检查输入的最后3个字符以查看是否存在'com'。如果不是,它会将'.com'追加到最后。对于http://

也是如此

希望这有帮助!