04. december 2014 - 12:36
Der er
9 kommentarer og 1 løsning
Find og fjern kyperlinks i HTML-tekst
Jeg har en masse linjer a la denne: <td colspan="3"><a href="joseph-haydn">Joseph Haydn</a> (1732-1809)</td> Den skal erstattes med: <td colspan="3"><span class="name">Joseph Haydn</span> (1732-1809)</td> Det skal siges, at det ikke er altid der optræder en tidsperiode (0000-0000).
Annonceindlæg fra SoftwareOne
04. december 2014 - 20:58
#1
Mit bud er en regexp ala: <a href="[^"]+">(.+?)<\/a> Kan matche første del.. Og det "replacer" du så "bare" med: <span class="name">$1</span>
05. december 2014 - 05:37
#2
Den erstatter med <span class="name">$1</span> og ikke <span class="name">Joseph Haydn</span>. Skulle $1 ikke netop indsætte/bevare det navn der stod der i forvejen? Ja, jeg ved det ikke; jeg gætter bare. Det trækker op til point. Skal jeg så sætte prik i "Svar (til løsninger og poingivning)"?
05. december 2014 - 10:55
#3
Hvilket sprog arbejder du i? Denne virker i hvert fald i php: $input = '<td colspan="3"><a href="joseph-haydn">Joseph Haydn</a> (1732-1809)</td>'; echo preg_replace('%<a href="[^"]+">([^<]+)</a>%', '<span class="name">$1</span>', $input);
05. december 2014 - 11:25
#4
Jeg bruger "Søg/Erstat" med RegEx i mit HTML-editor (Komodo). Jeg har nu forsøgt det samme i TextWrangler, hvor jeg kan sætte flueben i "Grep". Samme resultat.
05. december 2014 - 11:34
#5
Nogle gange har de andre syntakser. Så det kan være svært at give dig en løsning så.
05. december 2014 - 14:01
#6
<span class="name">$1</span> skal (it mit tilfælde) være: <span class="name">\1</span>, så virker det. Uden din hjælp var jeg dog aldrig kommet så langt, at jeg selv kunne google det sidste, så du får selvfølgelig point :-)
05. december 2014 - 14:03
#7
<span class="name">$1</span> skal (it mit tilfælde) være: <span class="name">\1</span>, så virker det. Uden din hjælp var jeg dog aldrig kommet så langt, at jeg selv kunne google det sidste, så du får selvfølgelig point :-)
05. december 2014 - 14:04
#8
Nej, det med pointgivning i dette forum KAN jeg bare ikke finde ud af :-(
05. december 2014 - 14:13
#9
Jeg skal først smide et svar
08. december 2014 - 08:42
#10
Takker for point.
Kurser inden for grundlæggende programmering