TinyMCE:如何在编辑器中插入将被纯PHP取代的代码片段


TinyMCE : How to insert snippets in editor which will be replaced by plain PHP?

我希望能够在tinyMCE内部的选择列表中选择一个'snippet'(例如contact_form或poll_form),它将被放置在编辑器中。

的例子:

My first post is an article talking about animals
#contact_form#

当行将显示在前端时,它不会输出'contact_form' ,但它必须被PHP代码替换,需要解释 <?php include('contact_form') ?>或类似的东西。

的例子:

My first post is an article talking about animals
<?php include('contact_form') ?>
// <form name="blabal">
// .....

请问你有什么好主意吗?由于

编辑我以后不会执行代码,访问者只会看到表单而不是php部分。这就是为什么我说他需要被解释。

如何在TinyMCE编辑器中添加选择列表,以便管理员选择他将包括在TinyMCE中的表单?

您可以使用输出缓冲来分配包含的php文件的内容,然后简单地使用str_replace()来切换。

if(strpos('#contact_form#', $input)) { // Check if we need to first
    ob_start();
    include('contact-form.php');
    $form = ob_get_contents();
    $output = str_replace('#contact_form#', $form, $input);
}

我希望这就是你的意思,如果你想输入PHP代码,这样你就可以稍后执行它,这将是自杀,因为你的整个输入将是可执行的。注意:我还没有测试过!