Php 转义用户输入的URL

Php 转义用户输入的URL,php,Php,我有一个网站,允许用户输入网址的网站与其他用户共享 当前,我们在向其他用户显示URL时会删除这些URL,但由于转换了有效字符,这偶尔会导致URL中断 在破坏尽可能少的URL的同时,从URL中删除潜在恶意字符的最佳方法是什么 Example Original URL: website.com?foo=1&bar=2 Escaped/Broken URL: website.com?foo=1&bar=2 这取决于输出到什么,但如果是html,则可以使用。这将仅转义在html

我有一个网站,允许用户输入网址的网站与其他用户共享

当前,我们在向其他用户显示URL时会删除这些URL,但由于转换了有效字符,这偶尔会导致URL中断

在破坏尽可能少的URL的同时,从URL中删除潜在恶意字符的最佳方法是什么

Example
Original URL: website.com?foo=1&bar=2
Escaped/Broken URL: website.com?foo=1&bar=2

这取决于输出到什么,但如果是html,则可以使用。这将仅转义在html中具有特殊意义的字符。

这取决于您要输出到的内容,但如果是html,则可以使用。这只会转义在html中具有特殊意义的字符。

您应该使用正则表达式来满足您的自定义规则。

您应该使用正则表达式来满足您的自定义规则。

更准确地说,请举个例子。“休息”如何?输出到何处?能否显示一个中断URL的示例?上面添加的示例。输出到HTMLH这不是一个坏的url,这在html中是完全正确的。更准确地说,请给出一个例子。“休息”如何?输出到何处?能否显示一个中断URL的示例?上面添加的示例。输出到HTMLH这不是一个断开的url,在html中完全正确。不幸的是,这可能会用符号(&)断开任何url。@Chip它不会断开它,将它放在
href
或文本中,它将正确显示和工作。谢谢Jeroen,我试图将URL直接输入到我的浏览器中,这导致了断开的链接。我不知道何时在锚定标记中单击浏览器将自动转换它。不幸的是,这可能会用符号(&)破坏任何URL。@Chip它不会破坏它,将它放在
href
或文本中,它将正确显示和工作。谢谢Jeroen,我试图将URL直接输入到我的浏览器中,这导致了断开的链接。我没有意识到当在一个锚标签和点击浏览器将自动转换它。