我对PHP有些新手,所以这可能听起来很愚蠢,但你最好如何重写下面的代码来删除领先的http://和/或www。如果他们在场,请关闭网址?
function jt_cmb_validate_text_url( $new ) {
if ( '' == $new ) { return; }
if ( !preg_match('/http:\/\//', $new) ) {
$new = 'http://' . $new;
}
return $new;
}
正如您所看到的,代码将前导http://添加到url(如果它尚未存在),但是因为我正在尝试删除http://和www。 你会选择四个if语句(如果没有,则一个,如果只存在一个,则各一个,两个都存在时)?
非常感谢任何帮助。 :)
答案 0 :(得分:3)
为了确保您不会删除任何超出需要的内容(例如,您不想删除查询字符串中的完整URL),您应该使用正则表达式:
$new = preg_replace("(^(?:https?://)?(?:www\.)?)","",$old);
答案 1 :(得分:1)
str_replace() - 用替换字符串
替换所有出现的搜索字符串str_replace ("http://" , "", $url )
str_replace ("www." , "", $url )
一般语法
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
计数 - 如果通过,则会将其设置为已执行的替换次数。