Oznámení
Zakaz preformatovania a lubovolnej upravy HTML este raz
před 14 lety
- niktos
- Člen | 7
Dobry den,
pokusam sa spojit Texy! s phprs, zaklad mi funguje, ale narazil som na problem, ze aj napriek studiu dokumentacie, prikladov a tohoto fora nie som schopny zakazat nielen preformatovanie, ale vobec lubovolnu upravu html textu, teda co, co niekedy nevyhnutne potrebujem.
Takto to robi nasledovnu paseku, ajhla, priklad, cast vstupneho kodu:
<P><TABLE><TR><TD VALIGN=TOP><BR><I>West</I><BR>1 <BR>All
Pass
<TD VALIGN=TOP>…
A vystupny kod generovany cez Texy! je:
<p>
<table>
<tr>
<td valign=„TOP“>
<br /><i>West</i>
<br />1
<br />All Pass
…
Spracovanie tychto dvoch kodov zial poskytuje rozdielny vystup.
Potreboval si vediet ako je mozne zakazat lubovolnu (cize aj formatovaciu upravu) casti textu, v tomto pripade html kodu.
Dakujem :-).
před 14 lety
- juneau
- Člen | 166
rozdilny vystup dostavas proto, ze to zminene HTML je tak prasacky kod, ze si s nim ani Texy! neporadi…
staci pridat </td>
tagy a hned je to lepsi: https://texy.info/cs/try/nb6i7
před 14 lety
- niktos
- Člen | 7
Nechcem sa pustat do debaty o kode (iste, mohol by byt lepsi:), ale kod, z ktoreho som sem poslal len cast, je napriklad podla Tidy v poriadku (az na prvy empty tag, ktory tam fakt nema co hladat).
Zaroven pre mna nie je riesenim upravovat tento kod, lebo aj tento kod je generovany na zaklade dat textoveho suboru dosovskym programom, jeho autor sedi kdesi na Floride. Kazdopadne, jeho kod sa bezne a bez problemov pouziva na mnohych strankach.
Nehovoriac o tom, ze Texy! mienim pouzit ako sucast redakcnych prostriedkov pre autorov, ktori ani nevedia co je to tag a prave preto skusam zaradit do systemu Texy!, aby taketo nieco ani v buducnosti vediet nemuseli. Ak by som po nich chcel aby upravovali html kod, tak som na tom horsie ako bez Texy!.
Takze opatovne prosim o potencialnu odpoved na moju prvotnu otazku. Da sa formatovanie a lubovolne upravy vo vymedzenom bloku textu nejako zakazat? Malo by to ist, nie?
před 14 lety
- niktos
- Člen | 7
Vdaka, ale uz som skusal. Pre istotu vyskusal i teraz.
Vystupny kod je cosi takehoto:
<br><TABLE><TR><TD VALIGN=TOP><BR><I>West</I>1
All Pass<I>North</I>2
<I>East</I>Pass<I>South</I>3
NT</BR></TD></TR></TABLE><TR><TD
VALIGN=TOP><BR><P>
Boli napriklad odstranene niektore vstupne tagy, kompletne, napriklad vstupny tag vo vystupe nie je.
před 14 lety
- juneau
- Člen | 166
drive v texy! neco jako /---notexy
fungovalo, ale ted uz asi
ne. dal uz musi odpovidat autor, tady moje znalosti konci.
před 14 lety
- David Grudl
- Nette Core | 6806
Texy! vždy dbá na to, aby výstup byl validní (X)HTML. Také uzavírá všechny značky, tedy i ty, které v HTML mohou zůstat otevřené (např TD, OPTION atd.)
Pokud použijete HTML v Texy! přímo, dojde k jeho částečnému přeformátování – doplnění uvozovek u atributů, použití malých písmen a doplnění zpětných lomítek u prázdných elementů (input, br, apod). A také k uplatnění restrikcí v souladu s allowedClasses, allowedStyles a vůbec $texy->modules->TexyHTMLModule->allowed.
Pokud je použijete v bloku /-- html, k těmto úpravám nedojde.
Nicméně vždy Texy! výsledek přeformátuje a zajistí jeho
„well-formedness“. A tady je kámen úrazu. Jednak kvůli drobné
chybce – Texy si nerozuměl s tagy zapsanými velkými písmeny (opraveno
v exp. verzi). Ale
především proto, že v uvedeném kódu nedokáže správně uzavřít tagy
</TD>
. Zkrátka Texy není Tidy. Zatím :-)
Pokud tag uzavřu, je vše ok
před 14 lety
- niktos
- Člen | 7
Vdaka, naozaj promptne riesenie, vysoko ocenujem takyto pristup.. a ano, takto je to lepsie, ba dokonca nadejne, ale stale to nie je to co potrebujem. Vystup cez Texy! je uz citatelny (predtym bol modifikovany cely vzhlad stranky), ale stale nepouzitelny, nakolko su modifovane klucove tabulky, do ktorych som nedoplnil chybajuce tagy.
A preco? Nuz riesenim nie je doplnat chybajuce tagy rucne. Spominany pouzivany generator html kodu totiz generuje dost obsiahle tabulky, do ktorych treba doplnit desiatky, niekedy stovky tagov. Doplnat do nich tagy </td> je nielen nudna praca, ale aj narocna. Uzatvarat tagy manualne je proste vylucene, naviac redakcny system ma byt urceny laikom.
Imho by to opcia zakazu preformatovania pre blok html vyriesila… :-).
před 14 lety
- David Grudl
- Nette Core | 6806
to uzavírání tagů se pokusím nějak pořešit…
před 14 lety
- niktos
- Člen | 7
David Grudl psal:
to uzavírání tagů se pokusím nějak pořešit…
Dobry den :-),
vratim sa s dovolenim este ku tomuto problemu a dodam k nemu este jednu ukazku, trochu vacsiu.
Tu sa da stiahnut subor, ktory spominany problem ilustruje. Podotykam, ze vystup kariet z Texy! je generovany v rezime Texy! a nie v rezime html. Porovnanim oboch kodov mozno zistit viacero vyznamnych rozdielov a aspon mne sa laicky zda, ze niektore tagy mozno padli za obet principu dosiahnutia validity X(HTML). Tak ci onak, aspon v tomto priklade to pripomina znamu situaciu, ze operacia sa podarila, ale pacient zomrel :-).
V snahe popriet tento princip som z Texy! vyradil tagy TD a TR. Pacient samozrejme zacal zit az vtedy, ked nasledkom tohoto kroku vzniknute substitucie znakov „<“ a „>“ som nahradil ich povodnymi znakmi. Z inzinierskeho hladiska je to OK, ostatne funkcie Texy! plne funguju. Kod sice nie je validny, ale je funkcny…
před 14 lety
- David Grudl
- Nette Core | 6806
jde stále o totéž – Texy neumělo uzavírat tagy, tedy doplnit
</td> </tr> </th> </p>
apod. na vhodná
místa. Podíváte-li se na váš fragment kódu, není tam jediný tag
uzavřený (kromě </table>
).
Pokusil jsem se to vyřešit, už by to mělo fungovat
před 14 lety
- niktos
- Člen | 7
David Grudl psal:
Pokusil jsem se to vyřešit, už by to mělo fungovat
Vyzera to lakavo :-). Nie je mi vsak zrejme, kde si mozem tuto verziu Texy! stiahnut. Budete prosim taky laskavy a usmernite ma?
před 14 lety
- David Grudl
- Nette Core | 6806
stáhněte si aktuální verzi, tento týden ji průběžně doplňuji
před 14 lety
- niktos
- Člen | 7
David Grudl psal:
stáhněte si aktuální verzi, tento týden ji průběžně doplňuji
Vdaka. Funguje to.
Btw tu …
před 14 lety
- David Grudl
- Nette Core | 6806
Texy je formátuje podle specifikace XHTML, kde jsou značky jako
<FONT> nebo <CENTER> již překonané. Jejich podporu nemám
v plánu do systému přidávat. Ale můžete si ji doplnit sám – stačí
úpravit soubor texy-constants.php a 'font'
doplnit do pole při
konstantě TEXY_INLINE_ELEMENTS
.