Avatar billede hvidlogspusher Nybegynder
03. august 2004 - 23:23 Der er 14 kommentarer og
1 løsning

hjælp til søgning i tekst

jeg er klar over jeg skal bruge preg_match_all eller lignende til dette jeg kan bare ikkke regne ud hvordan min "regular expresion" eller hvad man nu kalder den skal se ud...

det jeg skal er at jeg har noget html ala det her:
blasdblaf<a href="http://link/link.html"><img src="link.jpg"></a>dfdsfds<a href="bla.html">badsf</a>
<a href="http://blip/link.html"><img src="blop.jpg"></a>

det jeg skal have ud er
<a href="http://link/link.html"><img src="link.jpg"></a>
og
<a href="http://blip/link.html"><img src="blop.jpg"></a>

altså jeg skal have den til at finde alle steder hvor et billeder linker... HJÆLP!! :)
Avatar billede jakobdo Ekspert
04. august 2004 - 10:53 #1
Kan du ikke evt bruge denne:

preg_match_all('/<a.+<\/a>/im',$ditHtml,$arraySomIndeholderAlleATags);
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 11:55 #2
hmmm den forstod jeg ikke lige jakobdo... hvad er det der skal stå i det array ?
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:16 #3
$dithtml='blasdblaf<a href="http://link/link.html"><img src="link.jpg"></a>dfdsfds<a href="bla.html">badsf</a>
<a href="http://blip/link.html"><img src="blop.jpg"></a>';
$matches = array();
preg_match_all('/<a.+<\/a>/im',$ditHtml,$matches);


giver intet i $matches
Avatar billede jakobdo Ekspert
04. august 2004 - 12:17 #4
Altså du har koden: blasdblaf<a href="http://link/link.html"><img src="link.jpg"></a>dfdsfds<a href="bla.html">badsf</a>
<a href="http://blip/link.html"><img src="blop.jpg"></a>

Dette har du et eller andet sted, så jeg lagde det i variablen: $ditHtml

Prøv at kør følgende kode:

$ditHtml = 'blasdblaf<a href="http://link/link.html"><img src="link.jpg"></a>dfdsfds<a href="bla.html">badsf</a><a href="http://blip/link.html"><img src="blop.jpg"></a>';

preg_match_all('/<a.+<\/a>/im',$ditHtml,$arraySomIndeholderAlleATags);

for ($i = 0; $i < count($arraySomIndeholderAlleATags[0]); $i++)
{
    echo $arraySomIndeholderAlleATags[0][$i];
}
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:18 #5
jeg skriver selvfølgelig $matches ud med print_r giver intet resultat...
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:19 #6
ahhh oki... fin nok.. eneste problem er at den kun sortere "blasdblaf" væk og ikke alt det andet tekst...
Avatar billede hf Nybegynder
04. august 2004 - 12:25 #7
RegExp'en udtrækker alle <a...</a>. Den ser ikke på om der en tekst eller image tags imellem <a og </a>
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:27 #8
når jeg afvikler det script som jakobdo lavede så får jeg følgende ud...:
<a href="http://link/link.html"><img src="link.jpg"></a>dfdsfds<a href="bla.html">badsf</a><a href="http://blip/link.html"><img src="blop.jpg"></a>
Avatar billede jakobdo Ekspert
04. august 2004 - 12:32 #9
Jeg er ikke den store RegExp haj, så min viden rækker ikke længere... Sorry.
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:42 #10
hf-> det er jo egentlig det som den helst skal... den skal finde alle <a og </a> men kun tage dem hvor der er et <img tag inde i...
Avatar billede jakobdo Ekspert
04. august 2004 - 12:50 #11
Er ikke sikker på denne løsning, men måske den virker:

preg_match_all('/<a.+<img.+<\/a>/im',$ditHtml,$arraySomIndeholderAlleATags);
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 13:01 #12
den gør det samme... men jeg har selv løst problemet med at smide en if med en ereg ind som tjekker om <img forekommer.... men jeg har jo så et nyt problem men det er nok noget  nemmere... nemlig at jeg nu står med f.eks.:
<a href="http://link/link.html"><img src="link.jpg"></a>
og her vil jeg gerne have:
http://link/link.html
og
link.jpg

ud af.... :) hjælp... den der samlet har hjulpet mest med mine problemer får points
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 13:07 #13
nevermind løste det selv :) jakob læg et svar for den dejlige hjælp
Avatar billede jakobdo Ekspert
04. august 2004 - 13:13 #14
svar.
Avatar billede jakobdo Ekspert
04. august 2004 - 13:25 #15
Takker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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