0

我正在使用一个表单,其中一个字段是 RTF 文本区域(jWYSIWYG),它在页面加载时自动填充一些数据库信息,所有这些都使用 Symfony 框架。此 RTF 编辑器可以添加一些 html 标签,如<p>,<b>等。

当我在发送表单之前尝试知道 textarea 是否已被修改时,问题就开始了:我从中得到的$request是所有的 html 标记都被编码为&lt;p&gt;,&lt;b&gt;等。我试图用<and>字符替换那个表达式,所以我可以将其与存储的数据进行比较。

$codes = array('&gt;','&lt;');
$chars = array('<'   ,'>' );
return str_replace($codes,$chars,$text);

但是这个函数返回我作为str_replace函数参数传递的相同数组。我究竟做错了什么?有没有人有同样的问题?

4

2 回答 2

1

试试这个功能,而不是str_replacehttp ://www.php.net/manual/en/function.htmlspecialchars-decode.php

于 2011-12-19T16:41:27.927 回答
0

终于发现问题了。不是关于html标签!问题是(我不知道为什么)jWYSIWYG 在字段末尾添加了大约 24 个空格,因此很明显,存储数据和新数据结果之间的比较不同。

我只是以这种方式删除了输入的最终空格:

$text = rtrim($text);
于 2011-12-20T16:56:05.053 回答