Php 如何填写从表单收到的url
我使用HTML中的表单元素从用户处获取网址作为输入:Php 如何填写从表单收到的url,php,html,Php,Html,我使用HTML中的表单元素从用户处获取网址作为输入: <form action="parse.php" method="post"> Web address : <input type="text" name="addr"> <input type=submit value="Go"> </form> 无论用户输入什么,我都希望url的形式是 除了检查所有可能性之外,在php中实现这一点的最佳方法是
<form action="parse.php" method="post">
Web address :
<input type="text" name="addr">
<input type=submit value="Go">
</form>
无论用户输入什么,我都希望url的形式是
除了检查所有可能性之外,在php中实现这一点的最佳方法是什么?您必须检查所有可能性或使用正则表达式来测试其有效性 或者,您可以使用客户端Javascript验证输入
最后,如果没有默认设置为“http://”,您可以检查协议的URL输入,并将其前置到URL字符串中。以下内容需要稍加调整:
$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也一样://
希望这有帮助 这对任何gTLD、.org、.net等都不起作用。。。并且还会在以“https://”开头的URL的开头加上“http://”
$address = htmlspecialchars($_POST['addr']);
if (substr($address, -3, 3) != 'com') {
$address = $address.".com";
}
if (substr($address, 0, 7) != 'http://') {
$address = "http://".$address;
}
echo $address;