Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_match i przeszukiwanie ciągu z pominięciem części
Forum PHP.pl > Forum > PHP
pablo114
Witam,

mam taki ciąg:
CODE
show_user.php?uid=2222222" >Kxxxx111</a></span> (240) <a href="java script:OpenHelp(41)"><img src="http://static.allegrostatic.pl/site_images/1/0/stars/star125.gif" border="0" width="17" height="17" /></a> <a href="/my_page.php?uid=2222222"><img src="http://static.allegrostatic.pl/site_images/1/0/omnie.gif" border="0"></a> </td><td class="list-color" rowspan=1> <a href="mailto:adresemail@op.pl">adresemail@op.pl</a></td><td class="list-color">1</td>


i przy pomocy preg_match_all() próbuje wyciągnąć liczbe znajdującą się po "show_user.php?uid=" (czyli w tym wypadku 2222222) i liczbe w ostatnim <td> (<td class="list-color">1</td> czyli 1)

i wzór mam następujący:

  1. preg_match_all('^show_user\.php\?uid=[0-9]{1,15}[.]<td class=\"list-[a-z]{5}\">[0-9]{1,4}</td>^', $string, $result);


i zdaje się, że ta "[.]" w środku koliduje bo jak osobno uzywam "^show_user\.php\?uid=[0-9]{1,15}^" i "^<td class=\"list-[a-z]{5}\">[0-9]{1,4}</td>^" to wyrzuca mi ładnie.

Jakieś sugestie? Jak zrobić żeby pominął czy zaakceptował wszystkie znaki znajdujące się pomiędzy tymi dwoma elementami poszukiwanymi?

Z góry dzięki

ps. I może da się tak, żeby wyrzucał skrypt wyłącznie te 2222222 i 1 bo narazie dostaje "show_user.php?uid=2222222" i "<td class="list-color">1</td>" ale to w sumie pikuś bo oczyszczam to dzięki str_replace() natomiast myśle, że można to sobie ułatwić chyba, że się myle.
YaQzi
Raczej .+ a nie [.] jeśli już ale lepiej rozbij to na dwa mniejsze.
A to co chcesz wyciągnąć dokładnie bierzesz po prostu w okrągłe nawiasy czyli np "^show_user\.php\?uid=([0-9]{1,15})^". Każdy nawias wyrzuci wyniki w nowym wymiarze zwracanej tablicy ale z tym to już sobie poradzisz print_r jak coś.
pablo114
Dokładnie o to chodziło, dzięki wielkie smile.gif
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.