Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Převaděč do html Texy a problém s tagem EMBED

Zdravím vespolek,
řeším následující problém: redakční systém RS2 (aktuální verze), který obsahuje převaděč html Texy. Při vytváření nové stránky a vložení specifického kódu, který obsahuje tag EMBED, převede Texy špičaté závorky <> na entity lt a gt, takže se EMBED zobrazí v prohlížeči jako text. Vypnutí Texy nepomůže.

Ví někdo, jak v Texy nastavit, aby bral EMBED jako běžný tag? Googlem jsem hledal, zkoušel různé rady, ale prostě se mi to vyřešit nepovedlo.

Děkuju.

Předmět Autor Datum
Nešlo by ten embed nějak "obejít"? bye-bye-embed http://interval.cz/clanky/flash-a-nahrada-elementu…
marekdrtic 01.02.2009 15:00
marekdrtic
Obejít asi ne - nejedná se o Google video, Youtube nebo podobně. Je to vygenerovaný výstup z notovéh…
host 01.02.2009 15:08
host
A je tam nějaký soubor fla, swf nebo tak?
marekdrtic 01.02.2009 15:11
marekdrtic
Je tam soubor sib. :-) Psal jsem, že se nejedná o žádné flashové video...
host 01.02.2009 15:15
host
zkousel jsi primo fórum RS2?
sHpy00n 01.02.2009 17:21
sHpy00n
Do toho fóra jsem se díval, když jsem hledal řešení, dotaz jsem tam zatím nepoložil. Nejdřív jsem se…
host 01.02.2009 17:28
host
tak zkus primo forum autora Texy
sHpy00n 01.02.2009 17:30
sHpy00n
Jo, to zkusím...
host 01.02.2009 17:44
host
Možná by se mělo říct, že to převádí na entity pouze prohlížeč Firefox. V Opeře i v IE to funguje no…
Kráťa 01.02.2009 17:29
Kráťa
Možná spíš takto: $promenna = Str_Replace("&lt;embed&gt;","<embed>",$promenna); $promenna = Str_Repl…
marekdrtic 01.02.2009 17:37
marekdrtic
To se mu v jiných prohlížečích nahradí stejně, tak by to uměl i FF. Prostě < a > se v čánku nepíše :…
Kráťa 01.02.2009 17:46
Kráťa
Možná by se mělo říct, že to převádí na entity pouze prohlížeč Firefox Ne, přišel jsem na to, že je…
host 01.02.2009 17:44
host
A jak to, že IE ten plugin zobrazí když je to embed v entitách? Ale jak to replace napsal marekdrtic…
Kráťa 01.02.2009 17:49
Kráťa
IE ten plugin zobrazí, ale to je všechno - nefunguje. Nenačte se zdrojový soubor, který si bere práv…
host 01.02.2009 18:09
host
Já udělal obrázky: FF místo zdrojáku se zobrazí nějaký oznamovatel [http://img140.imageshack.us/img…
Kráťa 01.02.2009 18:24
Kráťa
Jo, je to tak, jak jsem psal výše: Jediný rozdíl je v tom, že Firefox to s entitami zobrazí jako te…
host 01.02.2009 18:37
host
Pokud existuje někde nějaký seznam zakázaných tagů, prohledal bych adresář s RS2 na výraz embed a tř…
Kráťa 01.02.2009 18:53
Kráťa
Není to v souboru texy.php ? edit:// řádek 15 "('TEXY_BLOCK_ELEMENTS',serialize(array_flip(array( '…
Kráťa 01.02.2009 18:56
Kráťa
To je IMHOj jenom seznam blokových elementů. Pak tam je dále ještě seznam inline elementů atd... Jak…
host 01.02.2009 19:04
host
Myslíš, že jsem to neudělal? Udělal, zkoušel měnit všude možně, kde se mi zdálo, že by to mohlo být,…
host 01.02.2009 18:57
host
ale podařilo se Tak co řešíš? :-P:-P Tak mě tam pusť a já zkusím přidat ty 2 řádky jestli to pak b…
marekdrtic 01.02.2009 18:59
marekdrtic
Dva řádky si umím přidat taky, ale když nevíš, jaký to bude mít dopad na další chování skriptu, tak…
host 01.02.2009 19:03
host
Na 99,999% vím, co to bude dělat, jde jenom o nahrazení textu ve stringu, o nic víc.
marekdrtic 01.02.2009 19:43
marekdrtic
Diskuze se začíná ubírat jiným směrem než na co jsem se ptal... Chování tagu EMBED (i jakýchkoliv j…
host 01.02.2009 19:53
host
Tagy môžeš v Texy povoliť pomocou nastavenia $allowedTags (api-texy - niekde dole je aj príklad použ…
los 01.02.2009 20:03
los
Díky za reakci. Tuto stránku jsem také studoval, bohužel se mi nepodařilo $allowedTags implementovat…
host 01.02.2009 20:08
host
Skús to doplniť v admin/texy-admin.php napr. pod $texy->allowedTags['img'] = TEXY_ALL;
los 01.02.2009 20:56
los
To jsem už myslím taky zkoušel. Teď jsem to tam vložil, ale nemá to žádný vliv. U embed to pořád pře…
host 01.02.2009 21:42
host
A nemá se doplnit do texy.php další řádek ve stylu: class TexyallowedTags extends TexyModule{var$all…
Kráťa 01.02.2009 22:01
Kráťa
Teď nerozumím. V texy.php je toto: <?php if(PHP_VERSION >= 5) require 'texy5.php'; else require 'te…
host 01.02.2009 22:03
host
já tam mám tohle class TexySmiliesModule extends TexyModule{var$allowed=false;var$icons=... řádek…
Kráťa 01.02.2009 22:10
Kráťa
Pro mě je důležitý, co tam mám já. :-) [http://pc.poradna.net/file/view/295-texy-png]
host 01.02.2009 22:19
host
Asi mám jinou verzi a každý píšeme o něčem jiném. :-) [http://pc.poradna.net/file/view/296-texy-gif…
Kráťa 01.02.2009 22:32
Kráťa
verze: RS2 RC 5.3 Texy! version 2.0 Beta 2 Revision: 148 Date: 2007/07/20 03:53:12
host 01.02.2009 22:40
host
Jéééé já asi koukám do jiného adresáře :-) Texy! Version 1RC (2005/7/22+)
Kráťa 01.02.2009 23:02
Kráťa
Nojo, teď mám také jako ty, ale nemám ty adresáře (RC2-rc52). poslední
Kráťa 01.02.2009 23:07
Kráťa
Vyzerá to tak, že v Texy je definované, aké podelementy môžu obsahovať jednotlivé elementy. Predpokl…
los 01.02.2009 22:25
los
Děkuju za tip. Teda to už začíná být drsný.... v kódu jsem to našel, upravil, nahrál na server.... a…
host 01.02.2009 22:38
host

Možná by se mělo říct, že to převádí na entity pouze prohlížeč Firefox. V Opeře i v IE to funguje normálně (odzkoušeno).
Co někde v souboru, na který se odesílá formulář v administraci při vkládání HTML, vložit něco jako:

% = Str_Replace("&lt;","<",%);
% = Str_Replace("&gt;",">",%);

Samozřejmě neumím tu syntaxi.

Možná spíš takto:
$promenna = Str_Replace("&lt;embed&gt;","<embed>",$promenna);
$promenna = Str_Replace("&lt;/embed&gt;","</embed>",$promenna) ;
jinak by mu to nahradilo všechny < a > a kdyby měl třeba článek ve kterém by bylo toto:
foo <=> bar nebo cokoliv s tím znakem tak by mohl být problém.

Možná by se mělo říct, že to převádí na entity pouze prohlížeč Firefox

Ne, přišel jsem na to, že je to převedené na entity i v Internet Exploreru (pohledem do zdrojového kódu). Jediný rozdíl je v tom, že Firefox to s entitami zobrazí jako text (na obrazovce), IE to nezobrazí vůbec...

Hromadné zrušení entit pomoco Str_Replace, jak navrhuješ, by mělo negativní účinky na ostatní případy, kdy jsou entity opodstatněné.

Jo, je to tak, jak jsem psal výše:

Jediný rozdíl je v tom, že Firefox to s entitami zobrazí jako text (na obrazovce), IE to nezobrazí vůbec...

Řešit to pomocí Str_Replace je hodně nesystematické, když přímo Texy umí nastavit, jak se mají tagy chovat, a které se mají povolit a které zakázat... Jen to neumím.

Pokud nikoho nic dalšího nenapadne, ještě zkusím přímo fórum Texy.

Vyzerá to tak, že v Texy je definované, aké podelementy môžu obsahovať jednotlivé elementy. Predpokladám, že keby si použil element embed mimo elementu object, tak by to nezmenilo na entity.

Kód Texy v RS2 je zhustený, ale dá sa tam nájsť takáto konštrukcia:

'object'=>array($attrs+array(...),array('param'=>1)+$bi,

Skúsil by som do toho druhého poľa pridať 'object'=>1. Je to len taký výstrel, ale mohlo by to pomôcť.

Zpět do poradny Odpovědět na původní otázku Nahoru