如何将ckeditor源代码中的PHP打开和关闭标记作为html实体


How to keep PHP opening and closing tags in ckeditor source as html entity?

在ckeditor中,我共享php、html等代码片段。因此,例如,我将共享以下内容:

<?php
//Something here...
?>

在源代码视图中显示如下:

&lt;?php
//Something here...
?&gt;

当我把它保存到mysql时,代码会保持原样。但当我加载代码时,ckeditor将源代码视图中的代码更改为:

<!--?php 
//Something here...
?-->

有什么解决方案可以解决这个问题吗?

您必须在源代码视图中键入php代码,否则它将变成html代码为了保护它免受ckeditor的攻击,请在config.js文件中使用以下代码:

config.protectedSource.push(/<'?['s'S]*?'?>/g);
正如Kiyan所指出的,我添加了config.protetedSource,这适用于在编辑器中工作。然而,为了将页面视为一篇文章,包括您在php中添加的内容,我不得不在输出文章/页面中添加以下内容:

textarea是存储在mysql数据库中的字段。

<?php echo eval('?>' . utf8_encode($row['textarea']) . '<?php '); ?>

在编辑器中,如果我添加了一些php,比如<?php-include("anything.php")>,它很好地包含了whatever.php文件。