Oznámení

Provoz fóra byl ukončen

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 S<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 S

<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

juneau
Člen | 166

odpovedi by pak mohlo byt ozkouseni tohoto: https://texy.info/cs/syntax#…

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 S 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.