Avatar billede ameq Nybegynder
18. februar 2008 - 08:42 Der er 12 kommentarer og
1 løsning

Hjælp til vaild html udtryk

Hej E
Jeg har googlet en del efter et udtryk som kan trans. mit html om til vaild html, men uden held. Så jeg ville høre om nogle af jer keder noget som kan bruges?

Hvis ikke så ville jeg høre hvordan et udtryk til at test om ens attb. i et html tag er lavet rigtig. Mit problem er et min rick txt editor ikke sætter "" rundt om class taget. Så kan man søge efter en string som indholder et =hvor det næste tegn ikke er " også splitte den string op så man selv kan concat {tagname}="{value}" sammen.
Avatar billede roenving Novice
18. februar 2008 - 23:24 #1
Hrm, hvor skal du bruge det (hvilket prog.sprog skal det bruges i ?-)

-- i javascript kunne det f.eks. være:

var html = '<div class=maindiv style="width:100px;" title=tekst>Noget</div>';
var reg = /=([^"]+?\b)/g;

alert(html.replace(reg,'="$1"');
Avatar billede ameq Nybegynder
19. februar 2008 - 07:56 #2
det er i c#, men dit eks. forstå jeg godt

hvad står /g for?
Avatar billede roenving Novice
19. februar 2008 - 11:52 #3
RegexOptions.Global !-)

Velbekomme '-)
Avatar billede ameq Nybegynder
19. februar 2008 - 12:19 #4
Hej Roenving
Jeg får en ikke match, når jeg prøver at test dit udtryk, kan det være rigtig?
Avatar billede roenving Novice
19. februar 2008 - 12:29 #5
I C# skal du nok skrive teksten lidt anderledes, f.eks.

"<div class=maindiv style=""width:100px;"" title=tekst>Noget</div>"

-- er en anelse usikker, men det er vist den rigtige !o]
Avatar billede ameq Nybegynder
19. februar 2008 - 12:36 #6
det var en online test jeg testede det i http://www.javaregex.com/testbig.html
Avatar billede roenving Novice
19. februar 2008 - 12:59 #7
Det er jo også i java, hvilket ikke har det fjerneste med javascript at gøre ...

Javascript har sit kaldenavn fra den store browserkrigs tidlige dage, hvor Netscape udviklede et livescript til deres browser og pga. den hype der på det tidspunkt var omkring Java, lavede en aftale med Sun/Java om at de lavede gensidig support, og at Netscape fik lov til at kalde det javascript ...

I dag er det egentlige navn ECMA-script, og de forskellige browserproducenter og andre der implementerer det har forskellige navne til det, Mozilla/FireFox javascript, M$ Jscript og f.eks. Macromedia actionscript i Flash !-)
Avatar billede ameq Nybegynder
19. februar 2008 - 13:40 #8
Yes den er jeg med på, men dit regex udtryk skulle vel også virker i java?
Avatar billede roenving Novice
19. februar 2008 - 13:45 #9
Ikke nødvendigvis, der er små og større forskelle mellem implementationerne i de forskellige programmer, skønt de fleste tager udgangspunkt i perls implementering ...
Avatar billede ameq Nybegynder
21. februar 2008 - 09:10 #10
Syns ikke det virker
Min html
<div id="anchor1022_212" class="clear">
  <p>test=tester </p>
  <p>test=&quot;tester&quot;</p>
  <p>test </p>
  <p>test </p>
  <p style="border-top-width:1px;border-left-width:1px;border-bottom-width:1px;color:red;border-right-width:1px">test </p>
  <p>test </p>
  <p>test=&quot;tester&quot;</p>
  <p><span class=ms-rteCustom-ArticleByline>test</span></p>
</div>

Min c#
Regex regEx = new Regex("/=([^\"]+?\base)/g", RegexOptions.IgnoreCase);
MatchCollection matchCollection = regEx.Matches(outputHtml);
outputHtml = regEx.Replace(outputHtml, "=\"$1\"");
Avatar billede roenving Novice
22. februar 2008 - 02:59 #11
Hrm, hvad er det nu det hedder i C# ...

Tror det er:

outputHtml = regEx.Replace(outputHtml, "=""\\1""");

-- absolut utestet (af gode grunde !-)
Avatar billede ameq Nybegynder
22. februar 2008 - 07:15 #12
:) mine andre regex virker med $1, men jeg prøver det lige, tak
Avatar billede roenving Novice
08. juli 2009 - 12:38 #13
-- tak for point ;~}
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

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