删除php字符串中的特定字符集
下面是我所有代码的一小部分,这是我需要的东西$linkurl只是一个常规url。 我需要此代码,以便在我将其放入数据库之前,可能的删除php字符串中的特定字符集,php,string,url,strpos,Php,String,Url,Strpos,下面是我所有代码的一小部分,这是我需要的东西$linkurl只是一个常规url。 我需要此代码,以便在我将其放入数据库之前,可能的http://或https://不会出现在链接中。当人们自己添加http://时,这是一种故障预防,因此您无法使用http://http://在数据库中 if (strpos($linkurl,'http://') !== false){ $linkurl-http://=$linkurl } 问题是,我不知道在if语句中键入什么。您可以使用正则表达式将ht
http://
或https://
不会出现在链接中。当人们自己添加http://
时,这是一种故障预防,因此您无法使用http://http://
在数据库中
if (strpos($linkurl,'http://') !== false){
$linkurl-http://=$linkurl
}
问题是,我不知道在
if
语句中键入什么。您可以使用正则表达式将http://
和https://
替换为这段代码的sinppet
$linkurl = 'http://example.com'; //Works for https too
$replaced = preg_replace('@(http://|https://)@i', '', $linkurl);
echo $replaced;
lolka_bolka的答案是正确的,但是,您也可以使用非正则表达式版本:
$linkurl = 'http://example.com';
$toreplace = ['http://', 'https://']; // can add more things like ftp:// or whatever you like
$replaced = str_replace($toreplace, '', $linkurl);
echo $replaced;
如果使用旧版本的PHP,则需要使用
$toreplace=array('http://','https://')相反,code>可以将正则表达式简化为/^(https?:\/\/)
(这是PHP中与^https?:/
)是的,这是相同的。在我的示例中,我使用了@
作为分隔符,因为在这种情况下,我不需要转义/
字符,在我的示例中,我也检查了http://
和https://
。您所展示的内容仅适用于https://
,并且and处有一个混乱的/
分隔符。事实上,这看起来更好,问题是“['http://','https://';”将给出一个错误,因为[,]和,.我已经更新了答案。但是,这是5.4语法,我强烈建议您更新PHP版本。