Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrazenia regularne
dprezes
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2007

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


Jest nastepujący problem:

Za pomocą wyrażeń regularnych z kodu strony www chcę znaleźć same daty, z tym że niektóre z nich mają postać ##.##.## a inne ##.##.## - ##.##.##

Gdy wystąpi ten drugi przypadek to te dwie daty powinny być traktowane jako jeden string a nie dwa osobne.

Poniżej przykład kodu z którego daty są wycinane:

</tr>
<tr>
<td class="eventsCalDate" width="240" height="15">01.07.07</td>
</tr>
///

</tr>
<tr>
<td class="eventsCalDate" width="240" height="15">23.06.07 - 01.07.07</td>
</tr>
<tr>



Moje propozycje wyrażeń regularnych:
preg_match("/[0-9]{2}\W[0-9]{2}\W[0-9]{2}|[0-9]{2}\W[0-9]{2}\W[0-9]{2} - [0-9]{2}\W[0-9]{2}\W[0-9]{2}/", $myStr, $date);

//preg_match("/[0-9]{2}\W[0-9]{2}\W[0-9]{2}|( - [0-9]{2}\W[0-9]{2}\W[0-9]{2})/", $myStr, $date);


Proszę o pomoc w poprawieniu tego wyrażenia bo dosłownie utknołem z robotą sad.gif
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




To jeszcze wyjaśnij, co to ma wspólnego z programowaniem obiektowym.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
dprezes
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2007

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


Ok, to doradź gdzie ten temat bardziej pasuje, bo przecież nie ma na tym forum działu dotyczącego wyrażeń regularnych...

---
Ale jest forum dotyczące PHP, gdzie
wyrażenia regularne idealnie się nadają,
ponieważ dotyczą tego języka. : )
---
~strife
Go to the top of the page
+Quote Post
starach
post
Post #4





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Nie prościej jest użyć \. niż \W ?
Cytat
Gdy wystąpi ten drugi przypadek to te dwie daty powinny być traktowane jako jeden string a nie dwa osobne.
Mógłbyś to jakoś doprecyzować bo nie za bardzo rozumiem.
I jeszcze mały OT: Nie wiem gdzie pasuje ale na pewno nie na programowanie obiektowe smile.gif Proponuję dział główny PHP z tagiem [PCRE] lub preg_*
Go to the top of the page
+Quote Post
doseo
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 3
Dołączył: 23.01.2007
Skąd: Dys/Lublin

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


Wybacz ale nie analizowałem Twoich wyrażeń.
U mnie zapis poniżej działa w pełni poprawnie
  1. <?php
  2. $str = ' </tr>
  3. <tr>
  4. <td class="eventsCalDate" width="240" height="15">01.07.07</td>
  5. </tr>
  6. ///
  7.  
  8. </tr>
  9. <tr>
  10. <td class="eventsCalDate" width="240" height="15">23.06.07 - 01.07.07</td>
  11. </tr>
  12. <tr>';
  13.  
  14. preg_match_all( '/([0-9]{2}).([0-9]{2}).([0-9]{2}) - ([0-9]{2}).([0-9]{2}).([0-9]{2})|([0-9]{2}).([0-9]{2}).([0-9]{2})/' , $str, $date, PREG_SET_ORDER );
  15.  
  16. print_r( $date );
  17. ?>
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: 19.08.2025 - 02:47