Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: js string.match

pistemies [29.01.2012 14:51:41]

#

Miten tämän tapainen muutos skripti tulisi olla.

string = mj.match(/\[img\](.*?)\[\/img\]/, "<img width=\"320\" src=\"$1\"/>",mj);
document.write(string);

Tämä tulostaa koko rivin, tosin muuttaa kuvan tiedot tuohon tagiin, mutta tulostaa myös nuo alkuosan rimpsut ja ei tulosta muuta tekstiä img-tagien ulkopuolelta.

-tossu- [29.01.2012 15:24:10]

#

Mikäli BBCode on aivan pakko parsia RegExpillä, käytä matchin tilalla replacea.

string = mj.replace (/\[img\](.*?)\[\/img\]/, '<img width="320" src="$1"/>');

Mikään hyvä parseri tuo ei ole, muttei pelkkiä säännöllisiä lausekkeita käyttämällä sellaista saakaan tehtyä. Metabolix on tehnyt pienen esimerkin paremmasta parserista: https://www.ohjelmointiputka.net/keskustelu/22735-oma-koodikieli-uutisenjulkaisujärjestelmään/sivu-1#v182732

pistemies [29.01.2012 15:34:32]

#

Kiitos.
Just itsekin kerkesin oivaltaa, kun aattelin vastaavaa php:lla, siinähän on preg_replace eikä preg_match. Ja häntää mj javascript ei kaipaile.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta