为什么关闭?人们真的认为没有其他人需要学习如何将两个函数应用于一个字符串吗?顺便说一句,这就是问题所在。
* * *此问题已解决工作代码:
link_up(htmlentities($row['note']))
感谢您的帮助,我猜只需要正确的语法。谢谢!
好的,所以我有一个表格,访客可以填写以留下便条。我创建了一个名为 link_up 的函数,它可以在不使用 html 标签的情况下将笔记中键入的网址转换为可点击的链接。问题是因为我将显示用户输入,所以我还想在显示时使用 htmlentities。这是我在没有 htmlentities 的情况下工作的代码。
这有效,但不安全......
<tr><td class='note'>" . link_up($row['note']) . "</td>" ;
这也有效,但不使用我为它创建的 link_up 函数
echo "<tr><td class='note'>" . htmlentities($row['note']) . "</td>" ;
所以我需要的是这样的(但这显然行不通)
echo "<tr><td class='note'>" . htmlentities . link_up($row['note']) . "</td>" ;
所以我想我要问的是,如何同时使用我创建的 htmlentities 函数和 link_up 函数,以便当 $row['note'] 被回显时,它既安全又能按预期工作?或者问我如何在一个回显字符串上同时使用两个函数可能更有意义?
这是 link_up 函数
function link_up($text)
{
$text= preg_replace("/(^|[\n ])([\w]*?)((ht|f)tp(s)?:\/\/[\w]+[^ \,\"\n\r\t<]*)/is", "$1$2<a href=\"$3\" class=\"notelink\" target=\"blank\">$3</a>", $text);
$text= preg_replace("/(^|[\n ])([\w]*?)((www|ftp)\.[^ \,\"\t\n\r<]*)/is", "$1$2<a href=\"http://$3\" class=\"notelink\" target=\"blank\" >$3</a>", $text);
$text= preg_replace("/(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+)+)/i", "$1<a href=\"mailto:$2@$3\">$2@$3</a>", $text);
return($text);
}