Avatar billede doingdot Nybegynder
06. maj 2003 - 11:55 Der er 15 kommentarer og
2 løsninger

udtræk fra streng...

jeg har brug for en function() der der kan modtage en hvilken som helst streng.

Den streng den modtager skal så analyseres for om
<a href=............>somelink</a> forekommer i den, og er det tilfældet skal den så returnere den del af strengen..

håber du ka hjælpe :)
Avatar billede mm12010 Nybegynder
06. maj 2003 - 12:05 #1
Avatar billede roenving Novice
06. maj 2003 - 12:06 #2
Sådan?

function findAnchor(str) {
  var s = str.toLowerCase;
  var start = s.indexOf("<a href=");
  var s1 = s.substr(start);
  var slut = s1.indexOf("</a>");
  return str.substring(start,slut);
}

men det kan laves mere elegant med en regular expression

hth
jes
Avatar billede roenving Novice
06. maj 2003 - 12:08 #3
Hov, vi skal selvfølgelig lige have længden af </a> med, så:

  return str.substring(start,slut+4);
Avatar billede doingdot Nybegynder
06. maj 2003 - 12:13 #4
jeg takker, der var jo lidt a tykke på :)

vender tilbage når mit mål er nået :)
Avatar billede olebole Juniormester
06. maj 2003 - 15:32 #5
<ole>

Skal hele link-tag'et returneres - eller kun 'somelink' i eksemplet i dit spm?

/mvh
</bole>
Avatar billede doingdot Nybegynder
06. maj 2003 - 16:54 #6
det optimale ville være hvis jeg kunne trække alle dele af a tagget ud i enkelte vars...

jeg har kigget på dit svar (olebole) i dette spm... http://www.eksperten.dk/spm/348935 men jeg kan bare ikke direkte kopiere den løsning, da mine a tags også indeholder onclick="xxx()" ...
Avatar billede roenving Novice
06. maj 2003 - 16:59 #7
Kan du ikke bruge den sidste:

function checkLinks() {
    var aAs = document.getElementsByTagName("A");
    for (i=0; i<aAs.length; i++) {
        alert(aAs[i].href);
        alert(aAs[i].target);
        alert(aAs[i].innerHTML);
    }
}
Avatar billede olebole Juniormester
06. maj 2003 - 17:14 #8
Så kan du bruge:

<script type="text/JavaScript">
function checkStr(str) {
    var re = new RegExp("<A href='([^']*)' target='([^']*)' [^>]*>([^<]*)<\/A>","ig");
    re.exec(str);
    return {"adr":RegExp.$1, "targ":RegExp.$2, "txt":RegExp.$3};
}

var str = "<a href='http://www.noget.dk' target='_blank' onclick='bla();'>BlaBlaBla</A>";

var res = checkStr(str);
alert(res.adr);
alert(res.targ);
alert(res.txt);
</script>

/mvh
Avatar billede olebole Juniormester
06. maj 2003 - 17:16 #9
Og hvis du også vil kende din click-funktion:

<script type="text/JavaScript">
function checkStr(str) {
    var re = new RegExp("<A href='([^']*)' target='([^']*)' onclick='([^>]*)'>([^<]*)<\/A>","ig");
    re.exec(str);
    return {"adr":RegExp.$1, "targ":RegExp.$2, "clck":RegExp.$3, "txt":RegExp.$4};
}

var str = "<a href='http://www.noget.dk' target='_blank' onclick='bla()'>BlaBlaBla</A>";

var res = checkStr(str);
alert(res.adr);
alert(res.targ);
alert(res.txt);
alert(res.clck);
</script>
Avatar billede olebole Juniormester
06. maj 2003 - 17:18 #10
Njaahhhhh .... sådan skal funktionen så se ud:

function checkStr(str) {
    var re = new RegExp("<A href='([^']*)' target='([^']*)' onclick='([^']*)'>([^<]*)<\/A>","ig");
    re.exec(str);
    return {"adr":RegExp.$1, "targ":RegExp.$2, "clck":RegExp.$3, "txt":RegExp.$4};
}
Avatar billede doingdot Nybegynder
06. maj 2003 - 17:20 #11
olebole...>>>nu presser jeg sikkert tomaten lidt for meget, men er det muligt at du gider lave et ex. hvor "name" attribute er includeret ?
Avatar billede roenving Novice
06. maj 2003 - 17:25 #12
Jeg gætter på:

    var re = new RegExp("<A href='([^']*)' name='([^']*)' target='([^']*)' onclick='([^']*)'>([^<]*)<\/A>","ig");
Avatar billede olebole Juniormester
06. maj 2003 - 17:27 #13
Nemlig ... der er logik i lortet  ;o)

Men du skal sørge for, rækkefølgen svarer til den måde, dine links er formateret på.
/mvh
Avatar billede doingdot Nybegynder
06. maj 2003 - 20:11 #14
tak for hjælpen...

>>olebole
*GG*
vil du også ha lidt point ?
Avatar billede olebole Juniormester
06. maj 2003 - 21:50 #15
s'gerne ...  :)
Avatar billede roenving Novice
07. maj 2003 - 00:13 #16
Jamen, takker for points ;~}
Avatar billede olebole Juniormester
07. maj 2003 - 17:56 #17
... me too  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester