开发者

What does this regex do?

We learn everyday. I came across this script and though i am new to regex would like to know if it's a safe script to use and what it does actually.

From I assume it removes clickable links in an a text but would ilke to know more.

function new_regex($text = '')
{
    $text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
    $ret = ' ' . $text;
    $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);

    $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2开发者_StackOverflow中文版\" target=\"_blank\">\\2</a>", $ret);
    $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
    $ret = substr($ret, 1);
    return $ret;
}


The first line does surprisingly little. It looks for active scripting uri prefixes, but replaces them with themselves. That seems a misguided attempt at security something.

The three following preg_replace calls replace http:// URLs or just www.* domain names and xyz@email addresses. But it does not remove them, it replaces them with clickable HTML links.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜