在一个字符串上应用两个函数的语法


Syntax to apply two functions on one string

为什么关闭?人们真的认为没有人需要学习如何将两个函数应用到一个字符串上吗?顺便说一句,这就是问题所在。

***这个问题已经解决了工作代码:

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']被回声时,它都是安全的,并按预期工作?或者问我如何同时在一个echo字符串上使用两个函数更有意义?

这是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);  
}  

你有一个很大的误解(只是为了让你更容易地安排事情)。

htmlentities()函数用于对文本进行编码,使其在HTML文档中显示不变。

但是,在您的情况下,您已经生成了用于文档的HTML作为HTML的链接,因此链接在超文本:

link_up()

您可能将这两个函数混合得太多,以至于这两个函数不能很好地协同工作。然而,如果你足够幸运,它们可以很好地协同工作,只是以另一种顺序使用它们:

link_up(htmlentities($row['note']));

首先在内部创建HTML,然后在链接周围添加更多的HTML。

试一下?我做了同样的事情,但我只是创建了我的链接,而不是使用函数调用。

 <tr><td class='note'><?php echo link_up(htmlentities($row['note']), ENT_QUOTES, 'UTF-8');?></td>"