PHP bir WYSIWYG editörü nasıl yapılır

4 Cevap php

PHP bir WYSIWYG editörü oluşturmak için çalışıyorum. Şimdiye kadar (Ben btw yeniyim) bu var:

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";
}

?>

Ben menü tüm metin alanı değişiklikleri için yazı tipi boyutu açılan yeni bir yazı tipi boyutunu seçtiğinizde sorun bunun yerine belirli bir kelime veya harfi vurgulayın ve sadece bu değişimin yazı tipi boyutunu ve değil muktedir istiyorum, bir Tüm metin alanı. Bu nasıl gitmek için?

4 Cevap

Sen (teorik olarak) bunu yapabilir, ama bunu kullanmak zorunda kullanıcılar ile mutlu olmayacaktır. Sorun her zaman, preslenmiş bir düğme, sayfa yenilenir olmasıdır. Bu formun içeriği orada değiştirilmiş ve geri gönderilen, sunucuya gönderilir demektir.

Sadece mesela için yazı tipini değiştirme, response time is way too long. Bu editör ile kullanıcı won't work comfortable.

Got için yol client side (diğer cevaplar hangi bağlantı için) tüm biçimlendirme, vb kolları JS WYSIWYG editörü kullanmak gerçekten.

Eğer örneğin sadece vurgulanan metni değiştirerek, sorular var Özellikle, ne olduğunu not trivial to solve. Sen başlangıç ​​vurgulanan metnin bitiş noktasını bitirmek tutun iki ek alan göndererek bunu yapmak mümkün olabilir. Bu JS yoluyla güncellenmiş olması gerekir.

Bunu JS olmadan bunu başaramaz. Daha öncede söylediğim gibi, metin server side modifiye edilir. Siz kullanıcı sadece metni kullanarak ne yaptığını anlamaya hiçbir imkanı yok.

Kendinize bir iyilik yapın ve don't try to do it. Bu gerçekten çabaya değer değildir.

DRY ilkesine uygun (tekrar edin etmeyin) ve benzeri birçok JavaScript WYSIWYG editörlerinden birini almak Lütfen http://tinymce.moxiecode.com/.

İnan bana, insanlar bu iş bir sürü koyduk ve gerçekten kendiniz yapmak istemiyorum.

Bye

Anlaştık, biz TinyMCE kullanmak ve çok sağlam. Çıkış http://tinymce.moxiecode.com/examples/full.php sahip olduğu tüm özellikleri görmek için. Örnekler sayfa altbilgi belirli amaçlar için daha az düğmeleri ile yapılandırmaları bir demet gösterir.

Bu kesinlikle arzu şekilde çalışan almak için biraz sabır alır ama sonunda Gördüğüm her şey daha iyi çalışır. FileManager ve ImageManager eklentileri ücretsiz değildir ama onları satın alma ve gerçekten de işe onlar hala açık kaynak vardır.