Avatar billede ossian Nybegynder
04. februar 2007 - 19:32 Der er 9 kommentarer

Finde alt mellem <textarea> og </textarea>

Hejsa,

Jeg skal findes alt ml. <textarea> og </textarea> - eller rettere mellem: <textarea rows="15" name="formatted" cols="50" wrap="physical"> og </textarea> - det skal siges at der også forekommer html-tags i indefor textarea som også skal med.

Jeg har prøvet med:
(<textarea rows="15" name="formatted" cols="50" wrap="physical">.*?</textarea>) - men desværre uden held..

Nogle der har et godt bud?

På forhånd tak!
Avatar billede esben85 Nybegynder
04. februar 2007 - 19:57 #1
Det kan let gøres med java script: <textareaName>.value
eksempel

<html>
<head>
<script>
function getData(textArea){
    alert(textArea.value);
}
</script>
<body>
<a href="java script:getData(document.getElementById('textArea'))">get text</a>

<textarea id="textArea" rows="15" name="formatted" cols="50" wrap="physical"></textarea>
</body>
</html>
Avatar billede gizmo-gizmo Nybegynder
04. februar 2007 - 19:59 #2
Hvad med:

<textarea[^>]*>(.*?)<\/textarea>
Avatar billede coderdk Praktikant
04. februar 2007 - 20:00 #3
Hvis det *skal* være med regex, så prøv med:

/<textarea[^>]*>(.*?)<\/textarea>)/si
Avatar billede ossian Nybegynder
04. februar 2007 - 20:06 #4
Esben> Tak for det, men det skal bruges til ASP, og jeg har desuden ikke mulighed for at give textarea'et et id.

gizmo> Tak, men den giver heller ikke noget :-(
Avatar billede coderdk Praktikant
04. februar 2007 - 20:08 #5
Bruger du IgnoreCase = True og Global = True ?
Avatar billede plx Nybegynder
04. februar 2007 - 20:09 #6
Almindelig ASP? Så brug [\s\S] som wildcard i stedet for punktum.
Avatar billede coderdk Praktikant
04. februar 2007 - 20:10 #7
StringToSearch = "hejsa <textarea hejsa=1 blah=2>bla bla bla</textarea> hehehe"

Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "<textarea[^>]*>(.*?)<\/textarea>"
.IgnoreCase = True
.Global = True
End With

Set expressionmatch = RegularExpressionObject.Execute(StringToSearch)

If expressionmatch.Count > 0 Then
For Each expressionmatched in expressionmatch
Response.Write "<B>" & expressionmatched.Value & "</B> was matched at position <B>" & expressionmatched.FirstIndex & "</B><BR>"
Next

Else
Response.Write "<B>" & RegularExpressionObject.Pattern & "</B> was not found in the string: <B>" & StringToSearch & "</B>."
End If

Set RegularExpressionObject = nothing

?
Avatar billede plx Nybegynder
04. februar 2007 - 20:11 #8
Dit problem er sikkert, at der er linieskift i den text du vil matche. Punktum matcher ikke linieskift
Avatar billede ossian Nybegynder
04. februar 2007 - 20:14 #9
Tak til plx, det var selvfølgelig der problemet lå! Genialt!

Smid et svar.. og tusinde tak til jer andre for jeres input!
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