我构建了一个由 mysql 数据库表支持的在线“What's On”页面,其中包含一个包含事件标题的字段。管理页面允许添加、编辑和删除条目。最近,有人问我是否可以在标题字段中嵌入网页链接,并发现编辑该字段以包含以下形式的链接:
Click <a class=hdg onclick="newWindow('http://www.address');"> HERE </a> to open web link
可以通过 newWindow 函数在新窗口中打开 URL。
不幸的是,任何使用管理页面编辑此类 mysql 记录的尝试都会破坏管理页面显示,因为该字符串从标题字段作为文本框的值返回,然后由浏览器解释链接文本以便只有部分字段显示在屏幕上的框中。字符串的其余部分出现在框外,这会让非技术用户感到困惑。
一个快速但肮脏的修复方法是在编辑时使用 Ctrl-A 选择整个文本框内容,然后在正确提交到数据库时将整个标题内容键入或粘贴到框中。然而,如果有人知道一种编码 JavaScript 的方法,以便一方面它可以作为 Web 链接正确运行,另一方面可以通过 HTML 表单进行编辑,我会很高兴知道。最终我想我会重新构建数据库来单独保存实际的 URL 并使用 php 来构建 javascript 链接,但同时?
最佳答案
使用htmlentities()
将字段值放入网页中,所有HTML特殊字符都替换为实体,因此它们不会被解释:
echo '<textarea>' . htmlentities($value) . '</textarea>';
关于javascript - 从 mysql 检索 javascript 字符串以进行后续编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21792054/