“标题”的格式/安全字符串锚点中的属性
我有一个构建锚标记的函数。该函数接收 URL、标题作为参数。问题是,有时文本包含引号,这会导致生成带有语法错误的锚标记。
解决这个问题的最佳方法是什么?是否有任何函数可以将文本解析为安全字符串(在本例中为标题属性)。
否则,我可以检查字符串并去掉所有引号,但我想知道是否有更好的方法来执行此操作,例如,可能还有一些其他字符也可能使我的函数崩溃。
I have a function that builds an anchor tag. The function recieves the URL, Title as parameters. The problem is that sometime the text includes quotation marks and this results in a anchor tag generated with syntax errors.
Which is the best way to solve this problems? Is there any function that parses the text into a safe string, in this case, for the title attribute.
Otherwise I can check the string and strip all quotation marks, but I would like know if there is a better way to do this, e.g there might be some other characters that can crash my function as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上,您想使用 HttpUtility.HtmlAttributeEncode 来编码您的标题属性。其他编码器将做更多的工作(并且有不同的用途),而这个编码器仅转义 "、& 和 < 来为属性生成有效文本。
示例:
这是一个<“测试”> &
变成这是一个 <"测试"> &其他的东西。
Actually you want to use HttpUtility.HtmlAttributeEncode to encode your title attribute. The other encoders will do more work (and have different uses) whereas this one only escapes ", &, and < to generate a valid text for an attribute.
Example:
This is a <"test"> & something else.
becomesThis is a <"Test"> & something else.