WYSIWYG Preprocessor adalah perpustakaan PHP tanpa ketergantungan . Ini semacam kotak alat untuk memproses area teks HTML Anda .
Sumber dikelola dengan Komposer.
composer require akibatech/wysiwygpreprocessor " 0.* "
Untuk area teks tertentu,
$ textarea = " Check my website http://website.com. Keep in touch at [email protected] ! " ;
Kami ingin mengubah tautan dan alamat email menjadi tag HTML
use Akibatech Wysiwyg Processor ;
use Akibatech Wysiwyg Modifier ;
$ processor = new Processor ();
$ processor -> addModifier ( new Modifier UrlToLink )
-> addModifier ( new Modifier MailToLink )
-> process ( $ textarea );
echo $ processor -> getOutput ();
Hasil dalam:
Check my website < a href =" http://website.com " > http://website.com </ a > . Keep in touch at < a href =" mailto:[email protected] " > [email protected] </ a > !
Pengubah mudah disesuaikan.
Bayangkan Anda ingin menargetkan semua link ke halaman baru atau menambahkan kelas khusus ke dalamnya.
$ textarea = ' Check out my new site: personnal-website.com ' ;
$ modifier = new Akibatech Wysiwyg Modifier UrlToLink ();
$ modifier -> setOptions ([
' class ' => ' custom-link ' ,
' target ' => ' _blank '
])
$ processor = new Akibatech Wysiwyg Processor ();
$ processor -> addModifier ( $ modifier )
-> process ( $ textarea );
echo $ processor -> getOutput ();
Hasil dalam:
Check out my new site: < a href =" personnal-website.com " class =" custom-link " target =" _blank " > personnal-website.com </ a >
Kelas: AkibatechWysiwygModifierBbCode
Deskripsi: Menerapkan BBCode dasar untuk menyempurnakan konten Anda.
Contoh masukan: [b]Hello[/b]
Contoh keluaran: <strong>Hello</strong>
Pilihan:
Tag defaultnya adalah: b, i, u, kiri, kanan, tengah, kutipan, link, img, ukuran dan warna.
Opsinya adalah tag wilcard BBCode. Kuncinya adalah tag BBCode yang diinginkan dan opsinya adalah pengganti HTML.
Jika pola diberikan sebagai array, ia dapat mengakses opsi Tag seperti [link=http://github.com]my profile[/link]
sebagai <a href="$1">$2</a>
.
[
// New tag called [yellow]text in yellow[/yellow]
' yellow ' => ' <span style="color: yellow;">$1</span> ' ,
// Disable default "b" tag
' b ' => null
]
Kelas: AkibatechWysiwygModifierParseVariables
Deskripsi: Mengganti preset variabel.
Contoh masukan: Hello %name%!
Contoh keluaran: Hello John!
Pilihan:
Anda dapat menentukan pembatas dan variabel yang diterima.
[
// My custom delimiter. Vars are parsed in this delimiter. Default is "%".
' in ' => ' % ' ,
// Accepted vars
' accept ' => [
' name ' => ' Joe ' , // %name% => Joe
' email ' => ' [email protected] ' // %email% => [email protected]
]
]
Kelas: AkibatechWysiwygModifierAbsolutePath
Deskripsi: Akan mengganti atribut "href" dan "src" dengan nilai absolut.
Contoh masukan: <img src="../../files/sea.jpg" />
Contoh keluaran: <img src="/files/sea.jpg" />
Pilihan:
Anda dapat menentukan awalan khusus untuk jalur Anda.
[
// Custom prefix. Default is '/'.
' prefix ' => ' http://site.com/ ' , // <img src="http://site.com/files/sea.jpg" />
]
Kelas: AkibatechWysiwygModifierWordsFilter
Deskripsi: Menghapus daftar kata dari teks. Bertindak sebagai sistem sensor.
Contoh masukan: Cunt!
Contoh keluaran: [censored]!
Pilihan:
Daftar dan penggantinya.
[
// Words list as an array.
' words ' => [ ' word1 ' , ' word2 ' ], // No defaults words.
// Replacement
' replace ' => ' [censored] ' // Wanted replacement, default to [censored]
]
Kelas: AkibatechWysiwygModifierEmptyParagraphs
Deskripsi: Hapus paragraf kosong dari konten Anda.
Contoh masukan: <p></p><p>Hello</p><p> </p>
Contoh keluaran: <p>Hello</p>
Pilihan:
Tidak ada.
Kelas: AkibatechWysiwygModifierMailToLink
Deskripsi: Mengubah alamat email dalam tag tautan yang dapat diklik.
Contoh masukan: [email protected]
Contoh keluaran: <a href="mailto:[email protected]">[email protected]</a>
Pilihan:
[
// Will replace "@" by "<at>", set to false to disable...
' at ' => ' <at> ' ,
]
Kelas: AkibatechWysiwygModifierNlToBr
Deskripsi: Ganti jeda baris menjadi jeda baris HTML. Mirip dengan fungsi asli php nl2br().
Contoh masukan: hello world
Contoh keluaran: hello<br>world
Pilihan:
[
// Linebreak symbol to search. Defaults to "n"
' search ' => "n" ,
// HTML to replace. Defaults to "<br>"
' replace ' => ' <br /> '
]
Kelas: AkibatechWysiwygModifierStripTags
Deskripsi: Hapus tag HTML dari input. Mirip dengan fungsi asli php strip_tags().
Contoh masukan: <p>hello world</p>
Contoh keluaran: hello world
Pilihan:
[
// Allowed HTML tags (see strip_tags documentation). Defaults, none.
' allow ' => " <a> " ,
]
Kelas: AkibatechWysiwygModifierUrlToLink
Deskripsi: Mengubah alamat web menjadi tag tautan yang dapat diklik.
Contoh masukan: https://www.github.com
Contoh keluaran: <a href="https://www.github.com">https://www.github.com</a>
Pilihan:
[
// Add a custom class to all generated tags. No defaults.
' class ' => ' link ' ,
// Customize the link target. No defaults.
' target ' => ' _blank '
]
Kelas: AkibatechWysiwygModifierYoutubeLinkToIframe
Deskripsi: Mengubah tautan youtube (panjang dan pendek) menjadi pemutar video yang disematkan (iframe).
Contoh masukan: My new video: https://youtu.be/wBqM2ytqHY4
Contoh keluaran: My new video: <iframe src="https://www.youtube.com/embed/wBqM2ytqHY4?controls=1&rel=0&showinfo=1" class="youtube-iframe" width="560" height="315" frameborder="0" allowfullscreen></iframe>
Pilihan:
[
// Custom class added to the player
' class ' => ' youtube-iframe ' ,
// Custom width (in px) or null
' width ' => 560 ,
// Custom height (in px) or null
' height ' => 315 ,
// Allow fullscreen
' allow_fullscreen ' => true ,
// Enable youtube suggestions when video ends
' with_suggestions ' => false ,
// Display video info
' with_infos ' => true ,
// Display video controls
' with_controls ' => true
]
Anda dapat dengan mudah memperluas praprosesor dengan menambahkan pengubah Anda sendiri.
Yang Anda perlukan hanyalah membuat kelas yang mengimplementasikan ModifierInterface . Anda juga dianjurkan untuk memperluas AbstrakModifier untuk mengakses metode umum (setOptions, getOptions, ...).
Pada dasarnya, pengubah menerima masukan untuk bertransformasi melalui metode publik handle($input) .
Opsi ditangani oleh metode publik defaultOptions() yang mengembalikan serangkaian opsi yang tersedia. Dan di badan pengubah Anda, Anda dapat mengakses opsi ini dengan atribut instance options .
Anda juga memiliki kemungkinan untuk menambahkan pengubah dinamis.
Metode "addModifier" juga menerima fungsi panggilan balik.
Contoh :
$ processor -> addModifier ( function ( $ input ) {
return str_rot13 ( ' hello ' ); // Will return "uryyb"
});
WYSIWYG Preprocessor diuji dengan PHPUnit.
Pastikan Anda telah menginstal dependensi composer dev dan ketik:
vendor/bin/phpunit
Penulis: Marceau Casals dan semua kontributor
Lisensi: MIT