हाँ, मुझे लगता है कि str_replace() और substr() तेजी से और regex से क्लीनर है। इसके लिए यहां एक सुरक्षित फास्ट फ़ंक्शन है। यह देखना आसान है कि यह वास्तव में क्या करता है। नोट: यदि आप // को भी हटाना चाहते हैं, तो सबस्ट्रेट ($ url, 7) और सबस्ट्र ($ url, 8) लौटाएं।
// slash-slash protocol remove https:// or http:// and leave // - if it's not a string starting with https:// or http:// return whatever was passed in
function universal_http_https_protocol($url) {
// Breakout - give back bad passed in value
if (empty($url) || !is_string($url)) {
return $url;
}
// starts with http://
if (strlen($url) >= 7 && "http://" === substr($url, 0, 7)) {
// slash-slash protocol - remove https: leaving //
return substr($url, 5);
}
// starts with https://
elseif (strlen($url) >= 8 && "https://" === substr($url, 0, 8)) {
// slash-slash protocol - remove https: leaving //
return substr($url, 6);
}
// no match, return unchanged string
return $url;
}
स्रोत
2015-08-27 19:39:43
आपको रेगेक्स की आवश्यकता क्यों है? क्यों न केवल पहले 7 अक्षर हटा दें? –
इसे जांचें: http://stackoverflow.com/questions/4875085/php-remove-http-from-link-title – stefandoorn
@ ओली चार्ल्सवर्थ: यह 8 वर्ण भी हो सकता है साथ ही 'https: //' – Sarfraz