我在执行以下操作时遇到了一些麻烦..
http://www.google.com --> www.google.com/
https://google.com --> www.google.com/
google.com --> www.google.com/
我正在尝试删除https:// or http://
,确保将www.
其添加到 URL 的开头,然后在 URL 不存在时添加尾部斜杠。
感觉好像我已经弄清楚了大部分,但我无法按照自己的意愿str_replace()
工作。
据我了解,这是如何使用str_replace
:
$string = 'Hello friends';
str_replace('friends', 'enemies', $string);
echo $string;
// outputs 'Hello enemies' on the page
这是我到目前为止所拥有的:
$url = 'http://www.google.com';
echo reformat_url($url);
function reformat_url($url) {
if ( substr( $url, 0, 7 ) == 'http://' || substr( $url, 0, 8 ) == 'https://' ) { // if http:// or https:// is at the beginning of the url
$remove = array('http://', 'https://');
foreach ( $remove as $r ) {
if ( strpos( $url, $r ) == 0 ) {
str_replace($r, '', $url); // remove the http:// or https:// -- can't get this to work
}
}
}
if ( substr( $url, 0, 4 ) != 'www.') { // if www. is not at the beginning of the url
$url = 'www.' . $url; // prepend www. to the beginning
}
if ( substr( $url, -1 ) !== '/' ) { // if trailing slash does not exist
$url = $url . '/'; // add trailing slash
}
return $url; // return the formatted url
}
任何有关格式化 URL 的帮助将不胜感激;我也很好奇我在使用 str_replace 删除 http:// 或 https:// 时做错了什么。如果有人可以就我做错了什么提供一些见解,我们将不胜感激。