Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Długi preg (operatory początku i końca?)
KsaR
post
Post #1





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Mam dość długi preg...
I chciałbym żeby się wykonał tylko cały a nie w części.

  1. preg_match_all("/<img src='\/images\/icon\/_a_\.png' alt='_a_'\/> A: (.+?)<br\/><img src='\/images\/icon\/_b_\.png' alt='_b_'\/> B: (.+?)<br\/><img src='\/images\/icon\/_c_\.png' alt='_c_'\/> C: (.+?)<br\/><img src='\/images\/icon\/_d_\.png' alt='_d_'\/> D: (.+?)<br\/><br\/><a class='btn' href='\/league\/fight\/(.+?)'>/", $site, $siteOut);


taki preg wyłapuje wszystkie (.+?) jakie dałem.
Chce teraz żeby wyłpał tylko jak wzór cały będzie identyczny.
Niestety słabo znam się na wyrażeniach ale pomyślałem o operatorze początku i końca.
więc zrobiłem tak:
/^tupreg$/
potem kombinacje samo ^ lub $ itd ostatecznie nawet /^(tupreg)$/
i jak tylko są dodane te operatory nie zwraca mi nic.

Co muszę zrobić żeby wyłapywało tylko ciąg jeśli pasuje do całego prega?

Ten post edytował Ksar 16.11.2014, 12:10:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kreatiff
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Ja nie rozumiem, więc jeśli o mnie chodzi to wklej ten tekst jeszcze raz (ale nie w znaczniku code) i wybolduj to co chcesz otrzymać w wyniku. I tylko to. Zaznacz też jakoś (kursywą) to co we wzorze musi się znaleźć, by w ogóle łapać wyboldowany tekst z zadanego fragmentu. Chyba, że to chodzi po prostu o to:
  1. preg_match_all('#Siła: (\d+).*?Zdrowie: (\d+).*?Zręczność: (\d+).*?Obrona: (\d+)(?><br/><br/><a class=\'btn\' href=\'/league/fight/146/72164025/\'>)#u', $kod, $a);
  2. echo'<pre>',var_dump($a),'</pre>';


Ten post edytował kreatiff 16.11.2014, 17:33:24
Go to the top of the page
+Quote Post
KsaR
post
Post #3





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(kreatiff @ 16.11.2014, 17:24:15 ) *
Ja nie rozumiem, więc jeśli o mnie chodzi to wklej ten tekst jeszcze raz (ale nie w znaczniku code) i wybolduj to co chcesz otrzymać w wyniku. I tylko to. Zaznacz też jakoś (kursywą) to co we wzorze musi się znaleźć, by w ogóle łapać wyboldowany tekst z zadanego fragmentu. Chyba, że to chodzi po prostu o to:
  1. preg_match_all('#Siła: (\d+).*?Zdrowie: (\d+).*?Zręczność: (\d+).*?Obrona: (\d+)(?><br/><br/><a class=\'btn\' href=\'/league/fight/146/72164025/\'>)#u', $kod, $a);
  2. echo'<pre>',var_dump($a),'</pre>';


bold - chce mieć
underline - musi byc żeby pobrało to co wcześniej (z boldem) jak nie ma to nie ma pobierać - a może się zmienić.
italic - ma zniknac ..

<img src='/images/icon/str.png' alt='str'/> Siła: 50<br/><img src='/images/icon/vit.png' alt='vit'/> Zdrowie: 50<br/><img src='/images/icon/agi.png' alt='agi'/> Zręczność: 50<br/><img src='/images/icon/def.png' alt='def'/> Obrona: 50<br/><br/><a class='btn' href='/league/fight/144/72164025/'>

Ten post edytował Ksar 16.11.2014, 17:47:59
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 19:00