我在CMS中保存内容时遇到过Silverstripe之前从未遇到过的问题。
当保存在内容wysiwyg(或我添加的任何其他字段)时,它正在逃避引号和叛逆,即。通过样式下拉列表将样式应用于一段内容时,可以创建基础HTML:
<p class="my-style">lorem ipsum</p>
当我按保存时,页面重新加载并且未显示样式。当检查HTML回到wysiwyg时,我得到了:
<p class="\"my-style\"">lorem ipsum</p>
最初,我的想法是内容字段可能设置为Text而不是HTMLText,但我已经检查过,发现情况并非如此。
有人有什么想法吗?我之前在Silverstripe建了很多站点,这是我第一次遇到这种行为。
我正在使用3.1.0
干杯
答案 0 :(得分:1)
非常特别......
如果您解析
,我会将symtpoms读为双引号 <p class="\"my-style\"">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中。
希望这有帮助!