Autor Zpráva
Pól
Profil *
Ahoj,

Mám text:

Včera <b>pršelo</b> až <i>až</i>.

A chtěl bych mít pri výpisu zvýrazněny všechny tagy.

Zkoušel jsem obsah.replace(/<(.*)>/g,"<span class='tag'><\1></font>");, ale moc jsem s tím nepochodil.
Díky za odpověď

Pól
peta
Profil *
chtěl bych
<b>pršelo</b> až <i>až</i>.

Zkoušel jsem
obsah.replace(/<(.*)>/g,"<span class='tag'><\1></font>");

visibone.com - Regular Expressions (nechce se mi ted hledat presny odkaz)
pochopitelne
1.
/<(.*)>/ - to znamena, ze ma najit znamenko < (tady by asi melo byt \<) a po posledni znamenko > ma vse zvyraznit, ju? Tak to mas ted psane, chova se to tak? Protoze tam mas (.*) . Protoze "." = jakykoli znak, i "<" ">".
Co s tim?
Pridat zacatek a konec regularniho vyrazu?

2.
navic se obsah zavorkay nepise \1 ale $1

3.
A dale tam ukoncujes tag "span" tagem "font" , coz je rozhodne kouzelne :)

Vysledek si myslim, ze by mel vypadat nejak takto:
obsah.replace(/^<(.*)>$/g,"<span class=\"tag\">$1<\/span>");
nebo
obsah.replace(/^\<(.*)\>$/g,"<span class=\"tag\">$1<\/span>");
nebo
obsah.replace(/^\<(.*)\>$/gm,"<span class=\"tag\">$1<\/span>");
a mozna jeste jinak, treba (coz je alternativa tech lomitek a pouzivam to treba ja, protoze se mi to vic libi mit regularni vyraz jako retezec):
var r;
r = new RegExp("^\<(.*)\>$","gm");
obsah.replace(r,"<span class=\"tag\">$1<\/span>");

pro nahrazeni smajliku treba pouzivam:
*1* = <img src="smilies/1.gif" alt="1.gif" width=16 height=16>

r = "\\*([0-9]{1,2})\\*";
reg = new RegExp(r,"gi"); // kde to i vlastne nema smysl, protoze jsou tam jen cisla, ale treba pridam i textove
source = source.replace(reg,d);
Oswald
Profil
Pól můžeš zkusit vykuchat můj UserJS script, který slouží k zobrazení kódu výběru v Opeře. Jsou tam tyhle třídy, takže to jde nastylovat dle libosti:

background

fontFamily
fontSize
stringColor
bracketColor
tagNameColor
tagNameBold
attrNameColor
attrNameBold
attrValueColor
attrValueBold
quoteColor
quoteBold
commentColor
commentBold
cdataMarkColor
cdataMarkBold
cdataContentColor
cdataContentBold


Zajímat tě bude asi jenom metoda parse() a definice schématu.

Script je tady: http://www.webkitchen.cz/lab/opera/get-selection-source.js
Nějaký další info najdeš tady: http://www.operacesky.net/forum/viewtopic.php?t=1366
Toto téma je uzamčeno. Odpověď nelze zaslat.

0