0

我为返回字符串的安全链接编写了一个函数。该函数称为 safe_link( string ),但我遇到了字符替换问题。我不知道为什么 str_replace() 不起作用,这就是我编写自己的函数的原因。我需要保存一个有效的 URL,我需要删除http://www。来自以表格形式给出的字符串。

function safe_link($arg){
    $url = str_split($arg);
    $string = array();
    $max = 0;

    if($url[0] == "h" && $url[7] == "w") # http://www.
        $max = 11;
    elseif($url[0] == "h") # http://
        $max = 7;
    elseif($url[0] == "w") # www.
        $max = 4;

    str_replace("/", "", $url);

    for($i = $max, $n = 0; $i < sizeof($url); $i++, $n++){
        $string[$n] = $url[$i];
    }

    return implode("", $string);
}

该功能正在运行,但是如果有人在 URL 的末尾写了一个“/”(斜杠)怎么办?我需要从该字符串中删除,但我不知道该怎么做。str_replace() 不起作用。我尝试调试,我看到该数组$url[sizeof($url) - 1]返回两个字符而不是一个字符。但为什么?

谢谢 !

4

1 回答 1

0

这个功能怎么样:

function safe_link($url) {
    $url = str_replace('http://', '', $url);
    $url = str_replace('www.', '', $url);
    $url = str_replace('/', '', $url);
    return trim($url);
}

这是你所期望的吗?

于 2012-06-21T14:46:03.700 回答