PHP转义文章内容字符串中的网址
软源LOGO
讲述咱程序员自己的故事

位置:软源 »编程 »文章

PHP转义文章内容字符串中的网址

coolapp;2013-09-22 21:35:57;浏览:2085

如果正文的内容中含有未转义的网址(含有中文或其他非字母字符构成的网址),又遇上不同地域默认的文件字符编码的不同,再加上浏览器的不同。一些内容中的非转义网址就不会得到浏览器的正确解析而出现404错误。

下面的例子可以转义文章内容中的网址:

$content="<a href=\"member/name/张三\">张三</a><a href=\"member/name/李四\">李四</a><a href=\"member/name/王二麻\">王二麻</a>";
function at($content){
    $s = preg_replace('/href="([^"]+)"/','href="<My*Flag>$1</My*Flag>"/',$content);
    $rlt=preg_match_all('/<My\*Flag>[^\*]+<\/My\*Flag>/',$s,$matches,PREG_PATTERN_ORDER);   
   
    //print_r($matches);
    if($rlt){
        $l=count($matches[0]);
        for($i=0;$i<$l;$i++){
            $mi=$matches[0][$i];
            $s=str_replace($mi,urlencode(strip_tags($mi)),$s);
        }
    }
    return $s;
}
echo at($content);
分享到:
(转载→)