/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Stripping images
Fra : Benjamin Eggert


Dato : 21-01-02 13:14

Hejsa,

Jeg har siddet og revet mig I håret over regular expressions...

Jeg vil gerne ha' erstattet alle image tags fra min html kode med alt
teksten f.eks. '<img src="something.gif" alt="mygif">' til 'mygif'.


Er der nogen der har styr på regular expressions, som kunne give et hint?


Mvh, Benjamin


 
 
Rasmus Keil (21-01-2002)
Kommentar
Fra : Rasmus Keil


Dato : 21-01-02 14:28

if (preg_match("/<img.*?alt=\"(.*?)\".*?>/",$HTML,$Matches)) {
$HTML = str_replace ($Matches[0],$Matches[1],$HTML);
}

Rasmus

Benjamin Eggert <zk@zerokelvin.org> wrote in message
news:B871C483.6D3%zk@zerokelvin.org...
> Hejsa,
>
> Jeg har siddet og revet mig I håret over regular expressions...
>
> Jeg vil gerne ha' erstattet alle image tags fra min html kode med alt
> teksten f.eks. '<img src="something.gif" alt="mygif">' til 'mygif'.
>
>
> Er der nogen der har styr på regular expressions, som kunne give et hint?
>
>
> Mvh, Benjamin
>



Rasmus Keil (21-01-2002)
Kommentar
Fra : Rasmus Keil


Dato : 21-01-02 14:34

ups glemte et i...

if (preg_match("/<IMG.*?alt=\"(.*?)\".*?>/i",$HTML,$Matches)) {
$HTML = str_replace ($Matches[0],$Matches[1],$HTML);
}

Rasmus Keil <rasmus@SPAMOFFkongkeil.dk> wrote in message
news:3c4c17ea$0$10678$4d4eb98e@news.dk.uu.net...
> if (preg_match("/<img.*?alt=\"(.*?)\".*?>/",$HTML,$Matches)) {
> $HTML = str_replace ($Matches[0],$Matches[1],$HTML);
> }
>
> Rasmus
>
> Benjamin Eggert <zk@zerokelvin.org> wrote in message
> news:B871C483.6D3%zk@zerokelvin.org...
> > Hejsa,
> >
> > Jeg har siddet og revet mig I håret over regular expressions...
> >
> > Jeg vil gerne ha' erstattet alle image tags fra min html kode med alt
> > teksten f.eks. '<img src="something.gif" alt="mygif">' til 'mygif'.
> >
> >
> > Er der nogen der har styr på regular expressions, som kunne give et
hint?
> >
> >
> > Mvh, Benjamin
> >
>
>



Benjamin Eggert (21-01-2002)
Kommentar
Fra : Benjamin Eggert


Dato : 21-01-02 16:23

Tak, men jeg kan ikke få den til at virke...
Kan det være ?> der er med I dit pattern? Jeg har prøvet at sætte et \ foran
> Skulle det ikke escape den... eller er jeg helt galt på den?




On 1/21/02 14:33, in article 3c4c1952$0$10684$4d4eb98e@news.dk.uu.net,
"Rasmus Keil" <rasmus@SPAMOFFkongkeil.dk> wrote:

> if (preg_match("/<IMG.*?alt=\"(.*?)\".*?>/i",$HTML,$Matches)) {
> $HTML = str_replace ($Matches[0],$Matches[1],$HTML);
> }


Mogens Meier Christe~ (21-01-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 21-01-02 16:20

"Benjamin Eggert" <zk@zerokelvin.org> wrote in message
news:B871C483.6D3%zk@zerokelvin.org...

Svarer lige med en eregi_replace-udgave (kan ikke selv
Perl-regulære-udtryk).

> Jeg har siddet og revet mig I håret over regular expressions...

Av :)

http://dk.php.net/manual/en/function.ereg-replace.php er måske en hjælp...

> Jeg vil gerne ha' erstattet alle image tags fra min html kode med alt
> teksten f.eks. '<img src="something.gif" alt="mygif">' til 'mygif'.

Følgende er utestet:

eregi_replace("<img[^>]+alt=\"([:alnum:]+)\"[^>]*>", "\\1", $HTML);

> Er der nogen der har styr på regular expressions, som kunne give et hint?

Ups, kom til at lave den.


Menøh, ideen er:

Det skal starte med "<img" og der skal komme noget der er ikke er '>' (som
ville slutte img-tagget) efter, og på et tidspunkt skal vi se alt=",
derefter kommer det vi skal bgure, nemlig 1 eller flere bogstaver og tal
(sat i parantes så det kan bruges i replace-delen), derefter afsluttende ",
derefter evt. noget mere som ikke er > (f.eks. width, height osv.) og så
slutter tagget. Vi erstatter det med det vi fandt ud af står inden
alt="(HER)", og da det er første parantes gøres det bare med \\1. $HTML er
den tekst du ønske at ændre :)


--
Mvh. Mogens
www.momech.dk




Mogens Meier Christe~ (21-01-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 21-01-02 16:27

"Mogens Meier Christensen" <mmc@nospam.dk> wrote in message
news:a2hbk8$8k6$1@news.cybercity.dk...

> eregi_replace("<img[^>]+alt=\"([:alnum:]+)\"[^>]*>", "\\1", $HTML);
....
>det vi skal bgure, nemlig 1 eller flere bogstaver og tal

Der er selvf. forkert, der kan jo være så meget i alt=" ud over bogstaver og
tal, tænkte mig ikke lige om! :(

Erstat [:alnum:] med [^\"], dvs. "alt andet end gåseøjne"

--
Mvh. Mogens
www.momech.dk




Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408670
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste