Home >Backend Development >PHP Tutorial >php实现使用正则将文本中的网址转换成链接标签_PHP

php实现使用正则将文本中的网址转换成链接标签_PHP

WBOY
WBOYOriginal
2016-05-31 18:15:49979browse

代码如下:


function text2links($str='') {
    if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; }
    $lines = explode("\n", $str); $new_text = '';
    while (list($k,$l) = each($lines)) {
        // replace links:
        $l = preg_replace("/([ \t]|^)www\./i", "\\1http://www.", $l);
        $l = preg_replace("/([ \t]|^)ftp\./i", "\\1ftp://ftp.", $l);
        $l = preg_replace("/(http:\/\/[^ )\r\n!]+)/i",
            "\\1", $l);
        $l = preg_replace("/(https:\/\/[^ )\r\n!]+)/i",
            "\\1", $l);
        $l = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/i",
            "\\1", $l);
        $l = preg_replace(
            "/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i",
            "\\1", $l);
        $new_text .= $l."\n";
    }
    return $new_text;
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn