私はPHPに少し慣れていないので、これはおそらくばかげているように聞こえますが、以下のコードを書き直して、先頭のhttp://やwwwを削除するのが最善の方法です。それらが存在する場合、URLから外れますか?
function jt_cmb_validate_text_url( $new ) {
if ( '' == $new ) { return; }
if ( !preg_match('/http:\/\//', $new) ) {
$new = 'http://' . $new;
}
return $new;
}
ご覧のとおり、コードは先頭のhttp://がまだ存在しない場合はURLに追加しますが、http://とwwwの両方を削除しようとしているためです。4つのifステートメントを使用しますか(1つは存在しない場合、1つは単一のもののみが存在する場合、もう1つは両方が存在する場合)?
どんな助けでも大歓迎です。:)