• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

regexp - wiele z pomiędzy tekstu

+1 głos
314 wizyt
pytanie zadane 21 czerwca 2016 w PHP przez maly Nałogowiec (37,190 p.)

Potrzebuję wyciągnąć linki znajdujące się wyłącznie pomiędzy tekstami start i end, pytanie jakiego napisać regexpa aby dokonać takiego cudu?

gdgergre
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
zfsdfs
start
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
end
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
qqqdssfsffs

 

2 odpowiedzi

0 głosów
odpowiedź 21 czerwca 2016 przez Comandeer Guru (608,860 p.)

A choćby tak:

start.*?(<a href=".+?">.+?<\/a>)+.*?end

 

komentarz 21 czerwca 2016 przez maly Nałogowiec (37,190 p.)

Trochę mi to nie działa

<?php
$source = <<<SOURCE
gdgergre
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
zfsdfs
start
<a href="http://fsdfsfsd.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsf.abc">abc</a>
end
<a href="http://fsdfsfs.abc">abc</a>
<a href="http://fsdfsfs.abc">abc</a>
qqqdssfsffs
SOURCE;

$pattern = '/start.*?(<a href=".+?">.+?<\/a>)+.*?end/s';

preg_match($pattern, $source, $matches);
print_r($matches);

, znajduje tylko pierwszy lub ostatni link w zależności czy dam opcję PCRE_UNGREEDY czy nie.

0 głosów
odpowiedź 22 czerwca 2016 przez wojtekson16 Bywalec (2,640 p.)
/^(?:(?!start$).*\n)*start\n|\G(<a[^>]*>[^<]*<\/a>)\n|\G^(?!end|<).*\n|\G^end\n[\S\s]*/gm

Podobne pytania

0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 3 grudnia 2016 w JavaScript przez Alterwar Dyskutant (7,650 p.)
0 głosów
0 odpowiedzi 134 wizyt
pytanie zadane 21 stycznia 2016 w Java przez NTXFN Gaduła (3,430 p.)
+1 głos
1 odpowiedź 234 wizyt
pytanie zadane 25 września 2016 w PHP przez benzulli Użytkownik (720 p.)

93,765 zapytań

142,721 odpowiedzi

323,373 komentarzy

63,359 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...