Avatar billede lequet Nybegynder
30. august 2002 - 16:10 Der er 6 kommentarer og
1 løsning

Finde urls i streng

Hej, hvis jeg har en streng som denne :

$streng = "<a href='http://www.noget.dk'>Link</a> <a href='enside.htm'>Klik</a>" ;

Altså en streng indeholdende HTML kode, som muligvis indeholder links.

Hvordan kan jeg så udtrække de urls der måtte gemme sig i strengen (http://www.noget.dk og enside.htm i dette tilfælde) og gemme dem i et array?

Håber det er til at forstå, har siddet og rodet lidt med noget reg. exp. men kan ikke lige finde en måde der virker logisk :(
Avatar billede mikl-dk Nybegynder
30. august 2002 - 17:06 #1
Fusk:

$streng = "<a href='http://www.noget.dk'>Link</a> <a href='enside.htm'>Klik</a>";

$streng = str_replace("</a>", "</a>[link_slut]", $streng);

$link = explode("[link_slut]", $streng);

Ved sku ikke, om det virker....

/mikl.dk
Avatar billede teaspoon Nybegynder
30. august 2002 - 17:09 #2
$streng = "<a href='http://www.noget.dk'>Link</a> <a href='enside.htm'>Klik</a>" ;

preg_match_all("/<a href=(['\"])(.*?)\\1>/is", $streng, $matches);

$url_i_streng = $matches[2];

print_r($url_i_streng);
Avatar billede lequet Nybegynder
30. august 2002 - 17:13 #3
Ahh, det ser ud til at virke perfekt teaspoon :) Takker

mikl.dk > Virker knapt så godt, så får jeg alt før linket, samt selve linket uden </a> med, det holder ikke helt. Men tak for forsøget
Avatar billede gizmo-gizmo Nybegynder
30. august 2002 - 17:19 #4
Smart teaspoooon :-)

havde lavet en anden funktion, men din virker lidt for godt til, at jeg tør at poste den :-)
Avatar billede mikl-dk Nybegynder
30. august 2002 - 17:56 #5
Det var heldigt, at jeg skrev fusk i starten af mit. Jeg vidste, at mit var noget crap i forhold til jer, de "rigtige" eksperters, tricks :) Nice script!

/mikl.dk
Avatar billede lequet Nybegynder
30. august 2002 - 18:59 #6
Hmm, gizmo, du må da gerne poste dit forslag, det kan være det løser det problem jeg lige har opdaget med teaspoons script :)Af en eller anden grund, hvis et link i denne stil indgår i strengen :

<a href="side.php" class="mitlink">

Så får jeg følgende resultat fra scriptet :

side.php" class="mitlink"

Ret typisk :(
Avatar billede mikl-dk Nybegynder
31. august 2002 - 12:07 #7
$streng = "<a href='http://www.noget.dk' class='link'>Link</a> <a href='enside.htm'>Klik</a>" ;

$found_class = stristr($streng, "class=");

if ($found_class == FALSE)
{
preg_match_all("/<a href=(['\"])(.*?)\\1>/is", $streng, $matches);
$url_i_streng = $matches[2];
print_r($url_i_streng);
}


if ($found_class != FALSE)
{
preg_match_all("/<a href=(['\"])(.*?)\\1 HER SKAL VI LIGE HAVE HJÆLP!!!>/is", $streng, $matches);
$url_i_streng = $matches[2];
print_r($url_i_streng);
}

Hvad skal der stå i HER SKAL VI LIGE HAVE HJÆLP?

KAn denne måde ikke bruges?
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