Gå til innhold

Anbefalte innlegg

Dette er en linje i en tekstfil:

 

<a href="/Sections/Languages/English/">English</a> / <a href="/Sections/Languages/Japanese/">Japanese</a>

 

Har brukt denne til nå, men får bare fram "English".

preg_match('%<a href="/Sections/Languages/\w+/">\w+</a>%', $tekstfil,$match); 

$tekst = trim(strip_tags($match[0])); 

 

Hvordan får jeg henta ut slik at det blir "English / Japanese".

Lenke til kommentar
Videoannonse
Annonse

preg_match_all()

 

regner med du skal hente ut det som står inne i <a href="">dette</a> blokken. Paster en liten funksjon jeg laget for å parse linker (med din testdata)

 

<?
function _striplinks($document)
{
preg_match_all("'<a.+?href\s*=\s*	# find <a href=
   	 ([\"\'])?    # Finne quote
     (?(1) (.*?)\\1 | ([^\s\>]+))	# Om vi fant quote, samle på linken og lete etter neste quote
     .*?>(.*?)</a>          # finne det som er inne i <a></a> taggen (navnet på linken)
                   'isx",$document,$links);

 // samle sammen resultatet.  resultat 2 er dobbeltquotene
       while(list($key,$val) = each($links[2]))
       {
       if(!empty($val))
               $match[] = $val;
       }
 // enkeltquotes...
       while(list($key,$val) = each($links[3]))
       {
       if(!empty($val))
               $match[] = $val;
       }
       reset($match);
 // lage et nytt array som inneholder linkenavn og linken
       $match_value = current($match);
       while(list($key,$val) = each($links[4]))
       {
               if (!empty($val))
               {
                       $ret[$val] = $match_value;
                       $match_value = next($match);
               }
       }
       return $ret;
}

$test = _striplinks('<a href="/Sections/Languages/English/">English</a> / <a href="/Sections/Languages/Japanese/">Japanese</a>');
print_r($test);
/* result:

Array
(
   [English] => /Sections/Languages/English/
   [Japanese] => /Sections/Languages/Japanese/
)

*/


?>

 

[edit] : tabs/spacing.

Endret av [kami]
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...