此问题在此处已有答案:
How to safely output HTML from a PHP program?(3个答案)
昨天关门了。
我有一个包含文件名的MySQL表和一个依赖于一些用户选择的查询,该查询在PHP脚本中返回这些文件名,比如在变量$filename中。我想创建一个锚标记,该标记带有指向这些文件名的href
属性,以便用户可以下载存储在目录中的相关PDF文件。我试着这样编写代码:
echo "<a href='".$filename."' target='_blank'> my pdf file</a>";
但如果文件名包含撇号('),则链接在浏览器中显示为断开。我还尝试用反斜杠转义文件名中的撇号,但没有成功。此外,我尝试将包含锚标记的字符串用单引号分隔,但这不允许像$filename
这样的内联代码。
然后我看到了这个SO问题Cannot pass variable with apostrophe in "a href" link,但它似乎不起作用。
在客户端javascript中构造href属性会有帮助吗?
2条答案
按热度按时间pjngdqdw1#
也许像这样:
或者:
或者使用
urlencode
(最可靠的):0yg35tkg2#
如果你像这样颠倒引号和撇号会怎么样: