Oznámení
Maskování emailu
před 12 lety
- Gringo
- Člen | 32
Když tvořím pomocí TexyHTML, je možné nějak jednoduše zamaskovat emailovou adresu stejně, jako to dělá Texy? Tzn, abych z odkazu <code>mailto:aaa@bbb.ru</code> měl tu kupku entit?
před 12 lety
- David Grudl
- Nette Core | 6806
Ano, TexyHtml to dělá automaticky.
před 12 lety
- Gringo
- Člen | 32
A ještě si dovolím podotázku – jak to udělat, aby se mi zamaskoval text takového odkazu, tzn. abych ve výsledku měl
<a href="(kupka entit)">aaa@<!---->bbb.ru</a>
Případně, jak pomocí TexyHTML můžu vložit komentář?
Editoval Gringo (29. 5. 2007 20:59)
před 12 lety
- David Grudl
- Nette Core | 6806
Textový obsah dokumentu, který se vytváří pomocí TexyHTML (například metodou setText), je ještě dále zpracováván. Při tom jsou znaky < & > a další nahrazeny za entity atd. Takže není možné přímo takto vložit HTML komentář.
Pokud však chci vložit text, který už dále nemá být nijak zpracováván, musím ho „ochránit“ pomocí funkce $texy->protect(). Příklad:
$text = 'nechráněná <část>';
$text .= $texy->protect('<!-- chráněná část -->', Texy::CONTENT_MARKUP);
$text .= 'opět nechráněná část';
$el = TexyHtml::el('a')->setText($text);
Druhým parametrem funkce protect je jedna z konstant Texy::CONTENT_*. Ta popisuje, co je vlastně obsahem chráněného řetězce, konkrétně určuje, jak tento obsah ovlivňuje tok dokumentu. Možnosti jsou:
- Texy::CONTENT_MARKUP – obsahuje pouze HTML komentáře nebo inline značky (B, I, EM, …), sami o sobě neviditelné
- Texy::CONTENT_REPLACED – navíc může obsahovat značky renderující nějaký viditelný řádkový obsah (IMG, INPUT, OBJECT, ale i BR)
- Texy::CONTENT_TEXTUAL – navíc může obsahovat text (za text se počítají i mezery)
- Texy::CONTENT_BLOCK – navíc může obsahovat blokové HTML značky (DIV, P, TABLE, TD, …)
V případě HTML komentáře se použije Texy::CONTENT_MARKUP.
před 12 lety
- Gringo
- Člen | 32
Vyčerpávající odpověď – díky za to! :)