Skocz do zawartości

Wyrażenie regularne


PawelC

Rekomendowane odpowiedzi

Zrobiłem coś takiego:

<?php
$str='
<a href="https://www.exploit-media.eu/wp-content/the.../css/screen.css" target="_blank">https://www.exploit-media.eu/wp-content/the.../css/screen.css</a>

<a href="https://www.adres-strony.pl/" target="_blank">https://www.adres-strony.pl/</a>
<a href="https://www.adres.pl/" target="_blank">https://www.adres.pl/</a>
<a href="https://www.sub.adres-strony.pl/" target="_blank">https://www.sub.adres-strony.pl/</a>
';
preg_match_all('/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|][^(css|jpg|gif|png|bmp)]$/i', $str, $matches);


print_r($matches);
?>

I Wyłapuje tylko ostatni adres, czyli tą subdomenę, a resztę pomija tak jakby nie pasowały do wzorca. W wyrażeniu jest warunek, że ma pomijać linki do styli css i obrazków, głównie chodzi mi o to aby wyłapywało domeny i subdomeny bez adresów podstron np https://www.adres.pl,https://www.adres-strony.pl/ i https://www.subdomena.adres.pl.

Odnośnik do komentarza
Udostępnij na innych stronach

nie żebym mi się chciało wgryzać w ten wzorzec ale co napewno jest źle to znak końca ciągu ($)

A dla leniwych: sprzątanie białystok ;]

A dla relaksu możesz zapalić kadzidełka

faceplus_banner_234x60_black.png Punkty FanCop od 3pln / 1k

SPRZEDAM: Volvo S40 1.9D, 2002; 220k przebiegu. Lokalizacja: Białystok; Tel 724-148-596

Odnośnik do komentarza
Udostępnij na innych stronach

Przykładowe rozwiązanie problemu z funkcją explode i parse_url:

<?php

$str='<a href="https://www.exploit-media.eu/wp-content/the.../css/screen.css" target="_blank">https://www.exploit-media.eu/wp-content/the.../css/screen.css</a><a href="https://www.adres-strony.pl/" target="_blank">https://www.adres-strony.pl/</a><a href="https://www.adres.pl/" target="_blank">https://www.adres.pl/</a><a href="https://www.sub.adres-strony.pl/" target="_blank">https://www.sub.adres-strony.pl/</a>';

$matches = explode('<a href="',$str);
foreach($matches AS $url)
{
$skladowe = parse_url($url);
echo  ''.$skladowe['host'].'<br />';
}

?>

Out:

www.exploit-media.eu
www.adres-strony.pl
www.adres.pl
www.sub.adres-strony.pl

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności