Oli jääänyt huomaamatta, että olit vastannut viestiin, mutta parempi myöhään jne.
tgynther kirjoitti:simop kirjoitti:Näin linkit saa ohjautumaan henkilot.eniro.fi-sivulle wappisivun sijaan.
Koodi: Valitse kaikki
resultText = resultText.replace(/\<a class=\"eniro-hitheading\" href=\"(.*)search_word=(.*)\"\>(.*)\<\/a\>/gi, "<a href=\"javascript:openUrl(event,'http://henkilot.eniro.fi/query?what=wp&search_word=$2')\">$3</a>");
En kyllä pääse kärryille mitä .replace tekee. Wildcardeja käyttää mutta mistäpäin näistä voisi lukea tarkemmin?
Regular expressioneista on kyse. Niistä ei kyllä ihan helpolla pääse kärryille. Tuo nyt on vielä aika yksinkertainen, mutta vähänkään monimutkaisemmat menevät kyllä erittäin vaikeasti luettaviksi. Esimerkiksi tällainen on käytössä tekemässäni iTV2DVD-ohelmassa "/\(.\)\ \(.*\)\'\(.*\)\'/\1\|\3/". Saa lukea ajatuksen kanssa useampaan kertaan ennen kuin tajuaa mistä on kyse.
Piste (.) tarkoittaa mitä tahansa merkkiä, tähti (*) 0-n kpl edellistä merkkiä eli .* viittaa 0-n kpl mihin tahansa merkkiin. Sulkujen sisällä oleviin lausekkeisiin voidaan viitata merkinnöillä $1, $2 jne.
Yritän vähän avata tuota replace-lauseketta (tiedä sitten selventääkö tämä yhtään).
Koodi: Valitse kaikki
/\<a class=\"eniro-hitheading\" href=\"(.*)search_word=(.*)\"\>(.*)\<\/a\>/gi
$1 $2 $3
Muuttujien sisällöt:
$1: merkkijonojen
href=" ja
search_word= välinen osa (eli
http://wap.eniro.fi/...)
$2: merkkijonon
search_word=:n ja lainausmerkin (") välinen osa (eli
hakusana&search_number=1&what=wp)
$3: merkkijonojen
"> ja
</a> välinen osa (esim. MATTI MEIKÄLÄINEN / OY FIRMA AB)
Kaikki <a class="eniro-hitheading" href="...">...</a> linkit korvataan tällaisilla:
<a href="javascript:openUrl(event,'
http://henkilot.eniro.fi/query?what=wp& ... word=[b]$2[/b]')">
$3</a>
Tässä lisää luettavaa regexeistä:
http://www.regular-expressions.info/
http://en.wikipedia.org/wiki/Regular_expression
tgynther kirjoitti:
Muutin widgettiä ideasi pohjalta niin että käyttäjä voi valita ohjataanko henkilot.eniro.fi-sivulle vai wap-sivuille. Kiitoksia avusta

Ollos hyvä.