我制作了一种包含富文本编辑器的表单。我试图将数据存储到数据库中。
现在我主要有两个问题..
1)只要字符串包含“#”(基本上当我尝试更改字体颜色时)字符,那么它不会存储“#”之后的字符。它也不存储“#”字符。
2)虽然我试过....在javascript中
html.replace("\"","'");
但它不会将双引号替换为单引号。
我制作了一种包含富文本编辑器的表单。我试图将数据存储到数据库中。
现在我主要有两个问题..
1)只要字符串包含“#”(基本上当我尝试更改字体颜色时)字符,那么它不会存储“#”之后的字符。它也不存储“#”字符。
2)虽然我试过....在javascript中
html.replace("\"","'");
但它不会将双引号替换为单引号。
我们需要看一些代码。我的感觉是你在某处错过了一些重要的逃生步骤。尤其是:
只要包含“#”的字符串(基本上是当我尝试更改字体的颜色时)字符
对我来说,您可能会将字符串粘贴到这样的 URL 中:
var url= '/something.php?content='+html;
当然,如果html
包含一个#
符号,你就会遇到问题,因为在:
http://www.example.com/something.php?content=<div style="color:#123456">
开始一个名为的#
片段标识符#123456">
,就像您将#section
URL 放在末尾以转到section
HTML 文件中调用的锚点时一样。片段标识符纯粹是客户端的,不会发送到服务器,服务器会看到:
http://www.example.com/something.php?content=<div style="color:
然而,这远不是上述问题的唯一问题。空格,<
并且=
在 URL 中是无效的,其他字符&
也会混淆参数解析。要将任意字符串编码为查询参数,您必须使用encodeURIComponent
:
var url= '/something.php?content='+encodeURIComponent(html);
它将替换#
为%35
并类似地用于其他带外字符。
但是,如果这确实是您正在做的事情,那么无论如何您都不应该将任何内容存储到数据库中以响应 GET 请求,也不应该依赖 GET 来传递可能很大的内容。请改用 POST 请求。
似乎您对数据库代码做了一些非常奇怪的事情。您能否展示用于将字符串存储到数据库的实际代码?
#
- 字符是创建评论的常用方式。也就是说,从#
行尾开始的所有内容都被丢弃。但是,如果您存储到数据库的代码是正确的,那应该没关系。
Javascript 不是处理引号字符转换的正确位置。正确的地方是在服务器端。
正如你所要求的......
我试图重播你......我试图准确地提及我所做的......
1)在我这样写的html表单页面的客户端..
html = html.trim(); // in html, the data of the rich text editor will come.
document.RTEDemo.action = "submit.php?method='"+ html.replace("\"","'") + "'";
\\ i had done replace bcz i think that was some problem with double quotes.
现在在 submit.php 上,我的浏览器 url 是这样的......
http://localhost/nc/submit.php?method='This is very simple recipe.<br><strong style='background-color: #111111; color: #80ff00; font-size: 20px;">To make Bread Buttor you will need</strong><br><br><blockquote><ol><li>bread</li><li>buttor</li></ol></li></blockquote><span style="background-color: #00ff80;">GOOD.</span><br><br><br><blockquote><br></blockquote><br>'
2)在submit.php ........我只是简单地写了这个
echo "METHOD : ".$_GET['method'] . "<br><br>";
$method = $_GET['method'];
现在我对上半部分的回答是这样的......
METHOD : 'This is very simple recipe.
现在我想存储 URL 的全部细节......但它只是存储......
This is very simple recipe.