- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Hobby elektronika
- Kormányok / autós szimulátorok topikja
- TCL LCD és LED TV-k
- Először égett le egy újságnál a GeForce RTX 5090
- Milyen TV-t vegyek?
- Amlogic S905, S912 processzoros készülékek
- Kompakt vízhűtés
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
#68216320 #15016 üzenetére
Szerintem valami meglévő library-t kellene felhasználnod a HTML-elemek szűrésére (lásd a korábbi linket, de lehet, hogy van jobb, mint a HTML Purifier), ez azért közel sem triviális feladat, és néhány regexp nem biztos, hogy elegendő rá. Bár azokkal is megoldható részben.
Az, hogy csak class-ok vannak megengedve, azért jelentősen egyszerűsíti a dolgot (mivel csak a class-attribútumot kell engedned), ezen pedig kliensoldalon úgy lehet segíteni, hogy jól jelenjenek meg ezzel a tartalmak, hogy a TinyMCE-ben különböző stílusokat definiálsz előre. Lásd a "Custom formats"-demót; ha a Formats-ba belenézel, ott például láthatod az Example 1, Example 2 stílusokat - ezek egyszerűen sima span-tagek, és class van hozzáadva:tinymce.init({
mode: "textareas",
plugins: "table",
content_css: "css/content.css",
style_formats: [
{title: 'Bold text', inline: 'b'},
{title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
{title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},
{title: 'Table styles'},
{title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
],
formats: {
alignleft: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'left'},
aligncenter: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'center'},
alignright: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'right'},
alignfull: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'full'},
bold: {inline: 'span', 'classes': 'bold'},
italic: {inline: 'span', 'classes': 'italic'},
underline: {inline: 'span', 'classes': 'underline', exact: true},
strikethrough: {inline: 'del'},
customformat: {inline: 'span', styles: {color: '#00ff00', fontSize: '20px'}, attributes: {title: 'My custom format'}}
}
});Itt ez a két sor az érdekes persze:
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},Ez jó példa arra, hogy simán megoldható, amit szeretnél, mármint kliensoldalon.
Ettől még szerveroldalon persze kell szűrni ugyanúgy.A TinyMCE-nek is egyébként van már inline szerkesztési funkciója, az egyszerűsíti a dolgot (az oldalra vonatkozó stíluselemek vonatkoznak akkor a szerkeszthető részre is).
De ha a szokásos, iframe-es megoldást választod (mint a fenti), akkor pedig egyszerűen meg kell mondani a TinyMCE-nek, hogy melyik CSS-fájlt használja fel a stílusok érvényesítésére, ezt a content_css opcióval tudod meghatározni (ezt is láthatod fentebb). Ebbe belerakhatod a class-okat, meghatározhatod, hogyan nézzen ki a textarea. Érdemes úgy kialakítani a textarea kinézetét, ahogy várhatóan ki fog nézni a végleges eredmény."Aztán az <img> tovább nehezíti a dolgot, hogy csak a tárhelyen lévő képet fogadja el."
Erre is biztos van már valami nagyon egyszerű függvény, vagy hasonló, vagy csak simán egy regexp is elég lehet (ilyet nem olyan nehéz egyébként írni); esetleg ezt még ki lehet egészíteni file_exists() ellenőrzéssel, ha szükséges (hogy egyáltalán létezik-e az a fájl a szerveren).
Új hozzászólás Aktív témák
- Windows: mi történik valójában Leállításkor, Alvó módban és Újraindításkor?
- Path of Exile 2
- Miért álltak az oldalak egy hétig, mi történt?
- Elektromos autók - motorok
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Az AI megeszi a szoftverpiacot?
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Pécs és környéke adok-veszek-beszélgetek
- Windows 11
- További aktív témák...
- Rack bontás vagy egyben eladó HomeLab
- HP Compaq Elite 8300 USDT - 16GB DDR3 - i7-3770
- Bomba Ár! Lenovo ThinkPad T540P - i7-4710MQ I 16GB I 500SSD I Nvidia I 15,6" FHD I Cam I W10 I Gari!
- Bomba ár! Lenovo ThinkPad X201 - i5-480M I 4GB I 128SSD I 12,1" WXGA I Cam I W10 I Garancia!
- Bomba ár! Lenovo IdeaPad 320S-13IKB - i5-8G I 8GB I 128SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- AKCIÓ! AMD Ryzen 7 3800X 8mag 16szál processzor garanciával hibátlan működéssel
- Honor MagicBook 16 Ryzen 5 5600H 16GB 512GB FHD 144Hz
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450M-A R7 2700X 16GB DDR4 512GB SSD GTX 1070 8GB Cooler Master MasterBox Lite5 500W
- Új MSI Katana 15 Gamer FHD IPS 144Hz i7-13620H 10mag 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest