Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CKeditor'插入的额外空格;s enterMode-导致XML文档出现问题_Php_Xml_Flash_Ckeditor_Whitespace - Fatal编程技术网

Php 使用CKeditor'插入的额外空格;s enterMode-导致XML文档出现问题

Php 使用CKeditor'插入的额外空格;s enterMode-导致XML文档出现问题,php,xml,flash,ckeditor,whitespace,Php,Xml,Flash,Ckeditor,Whitespace,我在我的网站的CMS中使用了CKEditor,它吐出一个包含CDATA内容的XML文件,供flash读取。问题在于,当CKEditor的enterMode设置为标记时,它会在源代码中创建一个换行符和一个制表符,当flash读取时,该制表符会输入空格,即使我将ignoreWhiteSpace设置为true。有没有办法防止ckeditor使用这种行为 编辑: 我仍然希望保留从编辑器中输入的任何标记-我只是不希望在实际源代码中添加所有额外的空间/选项卡。如果我使用上述方法,我的实际代码将被修改。如果我

我在我的网站的CMS中使用了CKEditor,它吐出一个包含CDATA内容的XML文件,供flash读取。问题在于,当CKEditor的enterMode设置为
标记时,它会在源代码中创建一个换行符和一个制表符,当flash读取时,该制表符会输入空格,即使我将ignoreWhiteSpace设置为true。有没有办法防止ckeditor使用这种行为

编辑:

我仍然希望保留从编辑器中输入的任何标记-我只是不希望在实际源代码中添加所有额外的空间/选项卡。如果我使用上述方法,我的实际代码将被修改。如果我查看源代码,我得到的是:

<p> 
    Donec at erat nec tortor sodales tempus.</p> 

在erat nec tortor sodales tempus餐厅用餐。

(输入,并在第一个标记后添加一个选项卡或一组空格,而不是:

<p>Donec at erat nec tortor sodales tempus.</p> 

(source中标记后没有空格或空格,我相信这会影响XML的表示。这有助于澄清问题吗?

您应该测试“output for Flash”示例,这里有一个小片段,它只改变了您要求的部分,但其余的调整应该对您有用:

// Make output formatting match Flash expectations
var dtd = CKEDITOR.dtd;
for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) )
{
    dataProcessor.writer.setRules( e,
        {
            indent : false,
            breakBeforeOpen : false,
            breakAfterOpen : false,
            breakBeforeClose : false,
            breakAfterClose : false
        });
}
dataProcessor.writer.setRules( 'br',
    {
        indent : false,
        breakBeforeOpen : false,
        breakAfterOpen : false,
        breakBeforeClose : false,
        breakAfterClose : false
    });

实际上,我在Flash端通过使用

TextField.condenseWhite = true;


这不会改变CKEditor如何吐出东西,但它确实解决了flash如何显示它的问题。

wait-这是在CKEditor init中执行的javascript代码,或者是在flash中导入并运行的某种包?这是javascript。所有代码都可以在“flash输出”中找到,您可以在samples文件夹中找到它。如果通过PHP调用CKEditor,将如何实现这一点?
XML.ignoreWhite = true;