Silverstripe CMS wysiwyg错误地解码/编码报价

时间:2014-10-03 20:22:57

标签: wysiwyg silverstripe

我在CMS中保存内容时遇到过Silverstripe之前从未遇到过的问题。

当保存在内容wysiwyg(或我添加的任何其他字段)时,它正在逃避引号和叛逆,即。通过样式下拉列表将样式应用于一段内容时,可以创建基础HTML:

<p class="my-style">lorem ipsum</p>

当我按保存时,页面重新加载并且未显示样式。当检查HTML回到wysiwyg时,我得到了:

<p class="\&quot;my-style\&quot;">lorem ipsum</p>

最初,我的想法是内容字段可能设置为Text而不是HTMLText,但我已经检查过,发现情况并非如此。

有人有什么想法吗?我之前在Silverstripe建了很多站点,这是我第一次遇到这种行为。

我正在使用3.1.0

干杯

2 个答案:

答案 0 :(得分:1)

非常特别......

如果您解析

,我会将symtpoms读为双引号

<p class="\&quot;my-style\&quot;">lorem ipsum</p>

它将显示为

<p class=""my-style"">lorem ipsum</p>

我通常在typography.css文件中定义我的样式,它会自动显示在WYSIWYG编辑器的“样式”下拉列表中。

你可以尝试一下,让我知道它是否有帮助?

谢谢!

答案 1 :(得分:1)

正如我所提到的,我认为这是一个PHP问题,也是一个转义双/单引号的问题。这是魔术引语的症状。

Magic Quotes是一个&#34;(恼人的)安全功能&#34;在PHP中默认启用&lt; 5.3.0并在&gt;中弃用5.4.0

在这里的一个小说中,有什么神奇的引用(取自php网站)

  

开启时,所有&#39; (单引号),&#34; (双引号),\(反斜杠)和NULL字符会自动使用反斜杠进行转义。这与addslashes()相同。

这可能正是您所经历的。

停用魔术引语

解决方案。

如果您可以访问主php.ini,请将其关闭:

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

如果您无法访问主php.ini:

将此行添加到根.htaccess文件中(如果您正在使用apache mod_php)

php_flag magic_quotes_gpc Off

或者如果您将PHP作为CGI运行,请在您的文档根目录上创建一个php.ini文件,并将前面提到的代码段放到php.ini中。

希望这有帮助!