Php htmlspecialchars文本

Php htmlspecialchars文本,php,Php,我已经为我的用户创建了一篇文章评论以发表评论。我还有一个功能,如果在消息中检测到url,它会自动创建链接。然而,现在我很困惑,如何使用htmlspecialchars转换文本,同时在不“编写URL”的情况下创建链接 例如: $message = 'This is a message with a url http://www.stackoverflow.com?id=1&get=1'; makeLink( htmlspecialchars( $message ) ) // I will

我已经为我的用户创建了一篇文章评论以发表评论。我还有一个功能,如果在消息中检测到url,它会自动创建链接。然而,现在我很困惑,如何使用htmlspecialchars转换文本,同时在不“编写URL”的情况下创建链接

例如:

$message = 'This is a message with a url http://www.stackoverflow.com?id=1&get=1';
makeLink( htmlspecialchars( $message ) )

// I will get "This is a message with a url http://www.stackoverflow.com?id=1&get=1" 
// Notice the ampersand became & How do I prevent this?

使用
html\u entity\u decode()
将其折叠回常规文本,或者使用正则表达式或常规文本替换来制作
&返回到

使用html\u实体\u解码($a)


我想你的问题会通过使用这个解决的,谢谢你,Sha,你知道我该怎么做吗?html_entity_decode(makeLink(htmlspecialchars($message))似乎不可能?我创建了以下示例,在浏览器上运行后查看其源代码,您可以在一个&;中找到两个语句之间的差异,并在应用html_entity_decode后,根据您的需要提供输出-------------------------------------------------------------------$message='这是一条带有url的消息'echo$a=htmlentities($message);echo“
”;echo$b=html\u entity\u decode($a);退出;------------------------------------------------------------------嗨:html\u entity\u decode(makeLink(htmlspecialchars($message))似乎不可能?