Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> preg_match i przeszukiwanie ciągu z pominięciem części
pablo114
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
YaQzi
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

Ostrzeżenie: (0%)
-----


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ś.


--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
pablo114
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

Ostrzeżenie: (0%)
-----


Dokładnie o to chodziło, dzięki wielkie smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:20