正确连接 TinyMCE 中的文本和 MySQL DB 中的 html 文本

问题描述 投票:0回答:1

我正在开发一个使用 PHP 和 MySQL 创建报告的项目,但我想添加所见即所得文本编辑器 TinyMCE,以便用户可以向报告添加文本,我选择此库进行设置和自定义提供的文本,因此我创建一个 foreach 循环来创建如下文本区域:

 require_once 'queries.php';

 foreach ($parameters as $parameter) {
        echo '<p>Please, write the analysis of '. $parameter['parameter'] .'</p>';
        echo '<textarea name="analysis_'. $parameter['parameter'] .'"></textarea>';
 }

问题是,当我将信息发送到程序以生成文本并与数据库中的文本连接时,我得到了意想不到的换行符或边距。

这是文本示例:

这是来自 PHP 数据库恢复的文本,{{ new_text }}

该标记被替换为 PHP 函数,当我运行代码时,我得到了这个:

这是来自 PHP 数据库恢复的文本,

这是来自 TinyMCE 的文本添加

但我想得到这个:

这是从 PHP 恢复数据库的文本,这是从 TinyMCE 添加的文本

我尝试删除 TinyMCE 编辑器,发送文本,得到了我想要的结果,但这消除了使用粗体、子索引和超级索引等样式编写文本的可能性,所以我不知道当我添加了 TinyMCE 编辑器,然后出现这个空间。

这是我在 .js 脚本中的设置:

tinymce.init({
    selector: 'textarea',
    plugins: 'autoresize',
    toolbar: 'undo redo | bold italic | superscript subscript | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | fontfamily fontsize',
    fontsize_formats: "6pt 8pt 9pt 10pt 12pt 14pt 16pt",
    menubar: false,
    toolbar_location: 'bottom',
    height: 300,
    forced_root_block_attrs : { style: 'text-align: justify;' },
});

我真的很感谢你的帮助,因为我不知道如何配置编辑器,我搜索了很多但一无所获。

如果您能推荐一个类似的编辑器,如果您有更好的体验,我会接受。

我尝试连接来自相同 PHP 的字符串并工作,删除编辑器并工作,我认为如果我将标记放在 p 标签之外,问题就可以解决,但这并没有发生

javascript php html tinymce
1个回答
0
投票

我发现这是解决该问题的一个简单方法,如果您使用 PHP 作为后端编程语言,您可以使用函数 preg_replace() 并以这种方式更改 p 标签:

$variable = preg_replace("/<p\s(.+?)>(.+?)<\/p>/is", "<span>$2</span>", $_POST["key"]);

这更好,因为 p 标签和 div 标签会生成换行符,以防您需要正确连接文本,您可以研究在编程 languaje 中类似的函数来做到这一点,希望这将是其他人的解决方案。

这更好,因为 p 标签和 div 标签会生成换行符,以防您需要正确连接文本,您可以研究在编程 languaje 中类似的函数来做到这一点,希望这将是其他人的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.