19. august 2003 - 18:26
Der er
11 kommentarer og 1 løsning
str_replace hjælp!
Jeg har et array, som indeholder en nyhed. Jeg vil have sådan at den fjerne billedet fra nyheden, hvis ellers der er et. Altså noget i stil med: $nyhed = str_replace("billedelink", "", $nyhed); Problemet er bare at jeg ikke kan få den til at fjerne billedet, uden at jeg skriver det nøjagtige navn på linket, altså f.eks. <img src="hej.jpg">... Hvad skal jeg gøre??
Annonceindlæg fra SuperOffice
19. august 2003 - 18:36
#1
du kan gøre flere ting: 1) fjerne alle tags ved hjælp af strip_tags (du kan undlade ngole tags, læs manualen for dette) 2) uskadeligøre alle tags ved hjælp af htmlenteties (usikker på stavemåde) 3) lave en reg.exp replace, disse er jeg ikke så stærke i, men det er noget i stil med: ereg_replace("<img [a-zA-Z0-9\.\, }+>", "",$nyhed) :OBS: ikke testet, og reg.exp. er ikke min stærke side! Morten
19. august 2003 - 18:38
#2
hmm, siger mig ikke helt vildt meget, er der andre der evt. kan komme med en smule kode??
Slettet bruger
19. august 2003 - 18:43
#3
<? $nyhed = "noget tekst her og så<img src='foo.gif' alt='' width='3'> og noget mere tekst"; $nyhed = preg_replace("|<img[^>]?>|i", "", $nyhed); echo $nyhed; ?> Noget i den dur, hvis $nyhed er en streng. Men hvad mener du med at $nyhed er et array?
19. august 2003 - 18:47
#4
mercur8 => hvad er forskellen på preg_replace og ereg_replace (ereg bruger perl regexp, ik'?) og burde det ikke være [^>]+ Morten
19. august 2003 - 18:48
#5
$nyhed, min variabel eller hvad det nu hedder, kommer fra min mysql db. Den kan hentes ved f.eks. $nyhed[0], så får jeg den første række osv. Den stump kode du smed virker ikke rigtigt!!
19. august 2003 - 18:49
#6
wee, nu virker det....dea_pg...det var lige det der skulle til!!
19. august 2003 - 18:50
#7
? = måske et, måske ikke + = et eller flere Morten
Slettet bruger
19. august 2003 - 18:52
#8
dea_pg: Mht. til forskellen. Ja preg bruger bruger Perls implementering og syntax. Manualen skriver at denne ofte er hurtigere end den alm. reg. Og jow det burde være * eller + istedet for ? Altså: $nyhed = preg_replace("|<img[^>]*>|i", "", $nyhed);
19. august 2003 - 18:55
#9
Nu vi er ved det, hvad er foskellen på + og * ???
Slettet bruger
19. august 2003 - 18:56
#10
* er 0 eller flere + er 1 eller flere
Slettet bruger
19. august 2003 - 18:56
#11
Med * bliver <img> altå fjernet. Med + bliver <img> ikke fjernet.
19. august 2003 - 18:58
#12
tak for det....
Vi tilbyder markedets bedste kurser inden for webudvikling