javascript - 如何防止子字符串结束父字符串?

标签 javascript html string escaping

说明:

我有一个非常简单的按钮,我想在单击时调用 javascript 函数。除了我似乎无法克服的一个问题之外,功能和按钮一切正常。

Javascript 函数将字符串复制到剪贴板中,以便用户轻松粘贴。该字符串是从另一个区域拉入的,该区域是自由文本,供用户输入他们想要的内容。但是,如果用户添加双引号,则会转义父字符串。

示例:

工作代码按钮示例:

<button id="Demo" onclick="copytoclipboard('some text to copy goes here')">Copy to Clipboard</button>

按钮不起作用的示例:

<button id="Demo" onclick="copytoclipboard('some "text" to copy goes here')">Copy to Clipboard</button>

正如您所看到的,第一个双引号结束父字符串。

我尝试过的:

到目前为止,我已经尝试转义双引号,但这似乎不起作用,因为它是一个子字符串。

示例:

<button id="Demo" onclick="copytoclipboard('some \"text\" to copy goes here')">Copy to Clipboard</button>

回到问题:

如何防止子字符串中的任何双引号以父字符串结尾,从而阻止我的 onclick 函数运行?

最佳答案

这可以分解为:您希望在 XML(或更具体地说 HTML)属性值中转义数据(无论是纯文本还是 JavaScript)。

您会发现大量相关信息 - 在本例中,最简单的方法是通过 " 转义双引号字符 (")

<button onclick="alert(&quot;foobar&quot;);">Click me</button>

关于javascript - 如何防止子字符串结束父字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42556890/

相关文章:

javascript - 数组重新循环以删除先前生成的一组数组数据

php - 访问 JSON 对象属性

javascript - 使用 Jest 模拟导入模块中的外部用户模块

C++ 在给定位置寻找一个 std::string::iterator

javascript - 根据值过滤对象数组

javascript - 如何在页面加载时激活 jquery 函数?

javascript - 使用 javascript 和 jquery 加载外部字体

css - 缩放时不需要的空间(div 标签)

c# - 在 .NET 中通过格式字符串发出冒号

java - java中的instanceof在嵌套数组列表上