我想链接用户输入的开头http(s)://
。
$ui = htmlspecialchars($ui, ENT_QUOTES);
$ui = preg_replace("/(https?\:\/\/[a-zA-Z0-9\_\+\@\&\-\#\/\%\?\=\~\|\!\:\,\.\;\(\)]+)/",
"<a href=\"\\1\">\\1</a>", $ui);
这段代码是安全的还是仍然有可能注入 javascript?我可以添加一些“黑名单过滤”,例如。禁止“javascript:”短语,但似乎没有意义,因为要涵盖的东西太多。