提问人:DeivDev97 提问时间:11/16/2023 更新时间:11/17/2023 访问量:51
正确连接来自 TinyMCE 的文本和来自 MySQL DB 的 html 文本
Concatenate properly text from TinyMCE and html text from MySQL DB
问:
我正在开发一个使用 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标签中取出,问题就会解决,但这并没有发生
答:
我发现它是该问题的简单解决方案,如果您使用 PHP 作为后端编程语言,您可以使用函数 preg_replace() 并以这种方式更改 p 标签:
$variable = preg_replace(
"/<p\s(.+?)>(.+?)<\/p>/",
"<span>$2</span>",
$_POST["key"]
);
这更好,因为 p 标签和 div 标签会生成换行符,以防您需要正确连接文本,您可以研究在编写 languaje 时类似的功能来做到这一点,希望这将是其他人的解决方案。
这更好,因为 p 标签和 div 标签会生成换行符,以防您需要正确连接文本,您可以研究在编写 languaje 时类似的功能来做到这一点,希望这将是其他人的解决方案。
评论
<textarea>
<p>
echo '<p>Please, write the analysis of '. $parameter['parameter'] .'</p>';
<span>
您还可以尝试更改 TinyMCE 在添加新内容时的行为方式,或者可能最适合控制新标签。https://www.tiny.cloud/docs/tinymce/6/content-behavior-options/#newline_behaviorinvert
linebreak
<p>
此外,请确保强制根块属性的格式正确:
forced_root_block_attrs: { 'style': 'text-align: justify;' },
编辑:文档和文档中的代码片段:
tinymce.init({
selector: 'textarea', // change this value according to your HTML
forced_root_block_attrs: {
'class': 'myclass',
'data-something': 'my data'
}
});
评论
style
评论
selector: 'textarea'
span
p
span