Avatar billede weiland Nybegynder
18. april 2004 - 17:48 Der er 14 kommentarer og
1 løsning

Bytte om på <a> og <h3>

Jeg har brug for at manipulere en streng på følgende måde:

I en html-fil skal alle tilfælde af:

<h3><a href=#>Dette er et link</a></h3>

laves om til:

<a href=#><h3>Dette er et link</h3></a>

(selvfølgelig uafhængigt af, hvad linket er)

Kan det gøres?
18. april 2004 - 18:03 #1
Åbn filen i en teksteditor, og brug Søg og Erstat funktionen til at udskifte:
<h3><a href=#> med <a href=#><h3>
og
</a></h3> med </h3></a>
18. april 2004 - 18:04 #2
Du kan f.eks. gøre det i Notesblok (Notepad).
Avatar billede weiland Nybegynder
18. april 2004 - 18:06 #3
:-)
OK, misvisende af mig at skrive html-fil.

Det er et form-input, som undervejs til databasen skal laves om på den beskrevne måde.
Avatar billede mjense173 Nybegynder
18. april 2004 - 18:10 #4
Hvorfor bruger du ikke bare en String-replace, i eks php eller asp?
Avatar billede weiland Nybegynder
18. april 2004 - 18:13 #5
Tjaee, det ku jeg vel egentlig godt... havde egentlig ikke tænkt den tanke!
Avatar billede mjense173 Nybegynder
18. april 2004 - 18:15 #6
Det ville ihvertfald være meget nemmere.
Avatar billede roenving Novice
18. april 2004 - 18:22 #7
Javascript-style:

txt = txt.replace(/<h3><a(.*[^>])>(.*)</a></h3>/g, "<a $1><h3>$2</h3></a>");

-- absolut utestet !-)
Avatar billede roenving Novice
18. april 2004 - 18:23 #8
/gi selvfølgelig, men jeg regner ikke med, du vil bruge javascript !-)
Avatar billede weiland Nybegynder
18. april 2004 - 18:26 #9
du kan tro, jeg gerne vil bruge javascript!!
jeg prøver det lige af....
Avatar billede weiland Nybegynder
18. april 2004 - 18:38 #10
Når jeg prøver dette, så fortæller browseren mig, at der mangler en højre-parantes.
Jeg kan nu ikke se, at der skulle mangle en!

var strText="En tekst med en <h3><a href=#>overskrift, der er et link.</a></h3>";
txt = strText.replace(/<h3><a(.*[^>])>(.*)</a></h3>/g, "<a $1><h3>$2</h3></a>");
Avatar billede weiland Nybegynder
18. april 2004 - 18:52 #11
ikke nogen haj til javascript, men dette BURDE da være OK

function SwitchTags(){
var strText1="Her er en tekst med en <h3><a href='blabla.asp'>overskrift, der er et link.</a></h3>";
strText2 = strText1.replace(/<h3><a(.*[^>])>(.*)</a></h3>/g, "<a $1><h3>$2</h3></a>");
alert(strText2);
return true;
}

men nu fortæller browseren mig, at "et objekt var ventet?
Avatar billede roenving Novice
18. april 2004 - 18:53 #12
Øv, jeg havde jo glemt at / skal escapes:

strText.replace(/<h3><a(.*[^>])>(.*)<\/a><\/h3>/g, "<a $1><h3>$2</h3></a>")
Avatar billede weiland Nybegynder
18. april 2004 - 18:56 #13
Det virker perfekt..!! Hvor er det lækkert. Svar med det vuns.
Avatar billede roenving Novice
18. april 2004 - 18:57 #14
Og jeg turde ikke undlade det ekstra mellemrum, men det kan jo ikke genere, jeg prøvede:

var strText="En tekst med en <h3><a href='http://www.herErEtLink.dk/side?jkjhg=jhjh&hgjh=kjh#jhkjh'>overskrift, der er et link.</a></h3>";
alert(strText+"\n"+strText.replace(/<h3><a(.*[^>])>(.*)<\/a><\/h3>/g, "<a $1><h3>$2</h3></a>"));

-- velbekomme '-)
Avatar billede roenving Novice
18. april 2004 - 19:00 #15
-- og tak for points ;~}
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
Kurser inden for grundlæggende programmering

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