Autor | Zpráva | ||
---|---|---|---|
http Profil |
#1 · Zasláno: 6. 11. 2009, 10:48:23 · Upravil/a: http
mám kod:
<:color:red>bla bla bla<:color> a potřeboval bych část převést na : <span style="color:red">bla bla bla</span> s tím že to co je mezi ": >", v mém případě "red", chci doplnit do: "color:red" připravil jsem si javascript: var barva = new RegExp("(<:color:)+[a-z]+(>)"); document.getElementById('livecontent').innerHTML = document.getElementById('livecontent').innerHTML.replace(barva, '<span style="color:red">\n'); document.getElementById('livecontent').innerHTML = document.getElementById('livecontent').innerHTML.replace(/\<\;\:color\>\;/g, '</span>\n'); Je to pro livepreview psaného textu v CMS, tak proto jsou tam znaky psané entytama < ap. V podstatě bych potřebovat tu barvu vytáhnout jako proměnnou a doplnit ji do nahrazovaného textu, vše mi funguje, jen nevím jak z toho vytáhnout tu barvu, poradíte mi? A jako třešínku ba dortu, bylo by možné aby to umělo i barvu hexadecimálně: #ff7800; Ale to už je fakt jen fíčura. :) Pavel |
||
Joker Profil |
#2 · Zasláno: 6. 11. 2009, 11:11:56 · Upravil/a: Joker
http:
Mno, v první řadě bych asi doporučil použít už hotový WYSIWYG editor (například TinyMCE nebo FCKEditor), ušetří to spoustu problémů. K dotazu: (<:color:)+[#a-z0-9]+(>) Proč tam je to označené plus-ko? A proč je tam takové závorkování jaké je? Já bych to udělal nějak takhle: RV pro hledání <:color:([a-zA-Z0-9#]+)>(.*?)<:color> nahrazení: <span style="color:$1">$2</span> ...funguje i pro hexadecimální barvičky. První závorkovaný podvýraz je název barvy, druhý podvýraz je obsah tagu. Případně to ještě chce převést < a > na < a > |
||
http Profil |
#3 · Zasláno: 6. 11. 2009, 11:28:20 · Upravil/a: http
Joker:
„například TinyMCE nebo FCKEditor“ tak to jsem už dávno zavrhl, ale děkuji, mám jiné představy o editování textu, nicméně když se to nekomu líbí... Ještě jedna otázka, funkce pro livipreview je zpracovávána u každého keyup, jak zabránit tomu aby to nevyhazovalo chyby, protože dokud barvu nedopíšu celou, tak js konzole vypisuje tohle: Varování: Očekávána barva, ale nalezeno '#f'. Chyba při parsování hodnoty 'color'. Deklarace vynechána. ...poslal jsem ti to do mailu, díky Pavel |
||
Chamurappi Profil |
#4 · Zasláno: 6. 11. 2009, 12:34:23 · Upravil/a: Chamurappi
Reaguji na httpa:
„tak js konzole vypisuje tohle“ To není chyba, to je jen neškodné varování. Na tvém místě bych to neřešil. Můžeš si samozřejmě napsat reguální výraz, který ověří, jestli barva odpovídá „/^#(?:[0-9A-F]{3}){1,2}$/i“, ale to bys pak měl vyjmenovat i všechna jména barev (jako „red“, „gold“, „salmon“ atd.). |
||
http Profil |
#5 · Zasláno: 6. 11. 2009, 13:25:55
Chamurappi:
...hlášení no, já jsem to špatně napsal :) nechám to tak. Díky moc kluci Pavel |
||
Časová prodleva: 14 let
|
0