如何在PHP中制作WYSIWYG编辑器
作者:互联网
我正在尝试在PHP中创建一个WYSIWYG编辑器.到目前为止,我明白了(我是新来的):
HTML:
<form action="" method="POST">
<select name="fontSize" onchange="this.form.submit();">
<option>Font Size</option>
<option value="14px">14px</option>
<option value="24px">24px</option>
<option value="34px">34px</option>
</select>
</form>
<form action="" method="POST">
<textarea name="bodyText" style="width:500px;height:200px;font-size:<?php echo $fontSize; ?>"></textarea>
</form>
PHP:
<?php
$fontSize = $_POST['fontSize'];
switch($fontSize)
{
case "14px":
$fontSize = "14px";
break;
case "24px":
$fontSize = "24px";
break;
case "34px":
$fontSize = "34px";
break;
default:
$fontSize = "12px";
}
?>
问题是,当我从下拉菜单中选择新的字体大小时,整个文本区域的字体大小都会更改,而我希望能够突出显示特定的单词或字母,而仅具有该更改的字体大小而不是整个文本区域.怎么办呢?
解决方法:
您可以(理论上)做到这一点,但是必须使用它的用户不会对此感到满意.问题是,每次按下按钮,页面都会刷新.这意味着表单的内容将发送到服务器,在服务器上进行修改然后发回.
仅用于更改字体,响应时间太长.用户将无法使用该编辑器.
实际上,获取方法是使用JS WYSIWYG编辑器,该编辑器在客户端(其他答案都链接到该客户端)处理所有格式等.
特别是您要解决的问题(即仅更改突出显示的文本)并非易事.您可能可以通过发送两个附加字段来保持此目的,这些字段保留突出显示的文本的起点和终点.这些必须通过JS更新.
没有JS,您将无法实现这一目标.如前所述,在服务器端修改了文本.您仅通过使用文本就无法弄清楚用户在做什么.
帮自己一个忙,不要尝试.确实不值得付出努力.
标签:wysiwyg,php 来源: https://codeday.me/bug/20191024/1919021.html