【问题标题】:How to save and echo symbol-to-symbol data in database如何在数据库中保存和回显符号到符号的数据
【发布时间】:2013-05-15 17:47:20
【问题描述】:

我有一个带有 textarea 的简单表单 例如:

<textarea name="script"></textarea>

我尝试通过这个表单将数据保存在 MYSQL 数据库中。但是有一个javascript数据。是的,我尝试将完整的脚本保存在数据库中,然后在页面上回显它。 所以,我有很多特殊的字符、引号、斜杠等。

比如有这样的部分:

replace(/"/g,"&quot;");

当第一次在 DB 中添加脚本时 - 一切正常,但是当我编辑它时 &amp;quot 会在 " 中转换。

有没有办法保存和编辑这样的数据来保留每个字符?


更新:如何通过 POST 发送那个?:

<textarea name="script">&quot;</textarea>

【问题讨论】:

    标签: php mysql textarea special-characters


    【解决方案1】:

    使用htmlentities() & html_entity_decode() 存储在数据库中。

    $orig = "I'll \"walk\" the <b>dog</b> now";
    
    $a = htmlentities($orig);
    
    $b = html_entity_decode($a);
    
    echo $a; // I'll "walk" the &lt;b&gt;dog&lt;/b&gt; now
    
    echo $b; // I'll "walk" the <b>dog</b> now
    

    【讨论】:

    • 它看起来像工作,但不是。核心问题出现在 textarea 中,当我第一次从 DB 回显数据时,所有数据都是正确的:&lt;textarea name="code"&gt;replace(/"/g,"&amp;quot;");&lt;/textarea&gt; 但是当我再次提交表单时,&amp;quot 会转换为"。
    • 为什么使用replace函数
    • 请提供storing 和retriving 来自database 的数据的php 代码。它将帮助我弄清楚并进行测试。@Tahiaji
    • 上一个版本是写数据:mysql_query("UPDATE FOTtable SET value='".base64_encode(htmlentities($value))."' WHERE object='".$object."'"); 和读数据:html_entity_decode(base64_decode($this-&gt;read_one("SELECT value FROM FOTtable WHERE object = '".$object."'")));
    猜你喜欢
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多