Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match pomoc w napisaniu patternu
Forum PHP.pl > Forum > Przedszkole
newBd
Witam
Chciałbym prosić o pomoc w napisaniu wyrazenia regularnego, ktore bedzie wyciagac linki z tekstu.

Przykladowy tekst zrodlowy
Kod
<li><a href="link1.html"> Link 1</a></li>
<li><a href="link2.html"> Link 2</a></li>
<li><a href="link3.html"> Link 3</a></li>
<li><a href="link4.html"> Link 4</a></li>
<li><a href="link5.html"> Link 5</a></li>


i teraz chcialbym, aby funkcja preg_match wyciagnela mi tylko to, co jest wewnatrz href (link1.html, link2.html...itd)

Prosze o pomoc.
daro0
A np. tak:

  1. $source='<li><a href="link1.html"> Link 1</a></li>';
  2. preg_match("'<li><a href=\"link1.html\">(.*?)<\/a><\/li>'si", $source, $match);
  3. if($match) echo $match[1];


i po kolei musisz jechać z kolejnymi linkami wstawiając to jako pattern czyli

  1. $source='<li><a href="link2.html"> Link 2</a></li>';
  2. preg_match("'<li><a href=\"link2.html\">(.*?)<\/a><\/li>'si", $source, $match);
  3. if($match) echo $match[1];


  1. $source='<li><a href="link3.html"> Link 3</a></li>';
  2. preg_match("'<li><a href=\"link3.html\">(.*?)<\/a><\/li>'si", $source, $match);
  3. if($match) echo $match[1];


itd.

http://stackoverflow.com/questions/1586779...tween-html-tags

to też działa:
  1. $source='<li><a href="link3.html"> Link 3</a></li>';
  2. preg_match('/<li><a href="link3.html">(.*?)<\/a><\/li>/si', $source, $match);
  3. if($match) echo $match[1];
newBd
A jak zrobić, jeśli nie znam linkow wewnatrz href?
Druga sprawa, w jakiej petli to umiescic, zeby wyswietlic wszystkie wystapienia?
mlawnik
Dokładnie, parsowanie HTML regexem to porażka.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.