Php stru分割返回两个字符

Php stru分割返回两个字符,php,char,Php,Char,我为安全链接编写了一个函数,返回一个字符串。该函数名为safe_link(string),但我在字符替换方面遇到了问题。我不知道str_replace()为什么不工作,这就是我编写自己函数的原因。我需要保存一个有效的URL,我需要从表单中给定的字符串中删除http://,www. function safe_link($arg){ $url = str_split($arg); $string = array(); $max = 0; if($url[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);
}
功能安全链接($arg){
$url=str_split($arg);
$string=array();
$max=0;
如果($url[0]==“h”&&$url[7]==“w”)#http://www.
$max=11;
elseif($url[0]==“h”)#http://
$max=7;
elseif($url[0]=“w”)35; www。
$max=4;
str_替换(“/”,“,$url);
对于($i=$max,$n=0;$i
该函数正在运行,但是如果有人在URL的末尾写了“/”(斜杠),该怎么办?我需要从那个字符串中删除,但我不知道怎么做。str_replace()不工作。我尝试调试,发现数组
$url[sizeof($url)-1]
返回两个字符而不是一个字符。但是为什么呢


谢谢大家!

这个函数怎么样:

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

这就是你所期望的吗?

它应该做什么?什么是“用于安全链接的函数”?$url是一个数组,str_replace是用于strings的。我不知道您要做什么。看看@AleksG发布的内容;)