Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

Witam, napisałem bardzo prostą regułę do wyciągnięcia wartości zmiennej
/^isLive=([a-z]{3,6});/

z kawałka kodu:
$site2 = "if (typeof ustream.vars == 'undefined') ustream.vars = {};ustream.vars.isLive=true;ustream.vars.local"; 


Przetestowałem na http://regexp.pl/ - działa, wrzucam do pliku .php - nie działa.
 preg_match("/^isLive=([a-z]{3,6})\;/", $site, $matches);

Powyższy kod zwraca mi pustą tablicę, dlaczego tak się dzieje?

Temat: Niedziałający RegEx

^ - dopasowanie musi pojawić się na początku tekstu
$pattern = "/isLive=([a-z]{3,6})\;/";
Ten post został edytowany przez Autora dnia 05.11.14 o godzinie 15:35
Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

O właśnie, o to chodziło.
Dzięki!
Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

Mam kolejny problem o tej samej tematyce.

Regex najprostszy z możliwych:
/<\/input>(.*?)<\/a>/ 


Jak go zmodyfikować aby brał on również pod uwagę znaki nowej linii? Bez nowych linii działa, z liniami - nie działa.
Tomasz Zadora

Tomasz Zadora programuję

Temat: Niedziałający RegEx

dodaj odp. przełączniki, polecam: ims, czyli:

/<\/input>(.*?)<\/a>/ims
Ten post został edytowany przez Autora dnia 03.12.14 o godzinie 19:45
Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

Hmm, niestety nie zadziałało więc próbowałem dalej:
htmlentities($site)

zwróciło mi: (tylko najważniejszy kawałek tekstu)
...
<input type="hidden" value="" /> Animals </a>
...


Regex:
preg_match("/<input type=\"hidden\" value=\"\" \/> (.*?) <\/a>/ims", htmlentities($site), $matches);


Niestety, nadal nic to nie pomogło.
Tomasz Zadora

Tomasz Zadora programuję

Temat: Niedziałający RegEx

Zamiast spacji daj \s+

i usuń htmlentities Ten post został edytowany przez Autora dnia 03.12.14 o godzinie 21:10
Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

Działa, dziękuje!
Paweł Nowicki

Paweł Nowicki Project Manager,
Programista PHP

Temat: Niedziałający RegEx

Witajcie, znów męczę się z wyrażeniami.
Dziś potrzebuję z takiego tekstu:
<a href="/CommunionAfterDark/communion-after-dark-june-29-2015-edition/" m-ref-tracking="discover" m-ref-category="play"><span title="Communion After Dark - June 29, 2015 Edition">Communion After Dark - June 29, 2015 Edition</span></a>


Wyciągnąć dwie rzeczy. Pierwsza to zawartość odnośnika. Druga to zawartość spana.
Próbuję coś w stylu
preg_match_all("/<a href=\"(.*?)\" m-ref-tracking=\"discover\" m-ref-category=\"play\">(.*?)</a>/", $site, $matches);

jednak nie działa. Siedzę od rana nad tym i już sił nie mam :/
Pomoże ktoś?

Z góry dzięki!
Marek Karmelski

Marek Karmelski PHP Programmer,
Magento dev, Agencja
reklamowa White
Ducky

Temat: Niedziałający RegEx

Powinno zadziałać:


preg_match_all('/<a\s[^>]*href=\"([^\"]*)\"[^>]*>(.*?)<\/a>/', $site, $matches);

Temat: Niedziałający RegEx

$pattern = 'href="(.+)".*<span (.+)<\/span>';

preg_match_all($pattern, $subject, $result);

chyba bardziej czytelny.
W $result[1] masz zawartość hrefa, w $result[2] wszystko ze spana.

Następna dyskusja:

Niedziałający skrypt petycji




Wyślij zaproszenie do