编程语言
首页 > 编程语言> > 如何在PHP中制作WYSIWYG编辑器

如何在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