我想删除http://和https://形式的所有url在我的表单提交。所以我使用下面的代码来删除http://并进行下一个处理。如果我使用的东西与http://在输入它不工作,去我的错误页面。
现在我想直接删除所有提交url的http://或https://。我也在这里读到str_replace
和preg_replace
,但不明白如何在这里应用它。
$web = mysqli_real_escape_string($dbh, $_POST['web']);
$fb = mysqli_real_escape_string($dbh, $_POST['fb']);
$tw = mysqli_real_escape_string($dbh, $_POST['tw']);
$gg = mysqli_real_escape_string($dbh, $_POST['gg']);
$keys = array('web','fb','tw','gg');
$invalid_strings = array("http://","https://");
foreach($keys as $key) { # iterate through each key to check
foreach($invalid_strings as $invalid) { # iterate through each invalid string
if(strpos($_POST[$key], $invalid) === 0) {
return str_replace($invalid, '', $_POST[$key]);
}
}
}
// Update process query
返回(无效的美元,大小写不敏感,$ _POST [$ key]);
您需要将return
替换为$errors[] =
return
语句将结束当前循环并使数组为空。执行$array[] =
将把新值附加到数组的末尾
use parse_url:
$url_part = parse_url($url);
$new_url = $url_part['host'] . $url_part['path'] . $url_part['query'] . $url_part['fragment'];
如果直接运行此页,取消前3行注释
<?php
//$_POST['ra']='http://small-seo-tools.in';
//$_POST['rah']='http://rahul.com';
//$_POST['rau']='https://rahulr.com';
print_r($_POST);
foreach($_POST as $key=>$value){
$_POST[$key] = str_replace('https://','',$_POST[$key]);
$_POST[$key] = str_replace('http://','',$_POST[$key]);
}
echo"<br><br>";
print_r($_POST);
?>