Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia regularne - prośba o łopatologiczne wytłumacznienie
Forum PHP.pl > Forum > PHP
shinuexx
Witam
Na początku chciałbym przeprosić jeżeli temat się pojawił, chociaż starałem się tego nie uczynić.
Prosiłbym kogoś o dość łopatologiczne wytłumaczenie wyrażeń regularnych. Na necie jest sporo informacji ale jakoś w ogóle one do mnie nie docierają. Po prostu nie rozumiem ich zupełnie bo prawie wszystkie są napisane tak samo. Jeśli można by było też się dowiedzieć jak wyciągnąć ciągi znaków z przykładowych danych. Chodzi mi tu głównie o wytłumaczenie pod funkcję preg . Np. chciałbym wyciągnąć z kodu źródłowego Wikiquotes taki blok
  1. <td style="width: 50%; vertical-align: top; border:1px solid #8898BF; background-color: #FFFFFF">
  2. <div style="background-color:#A8D3FF; font-size:1px; height:8px; border-bottom:1px solid #8898BF;"></div>
  3. <div style="float:right; margin:8px; margin-top:5px"><a href="/wiki/Kategoria:Cytaty" title="Kategoria:Cytaty"><img alt="P writing.svg" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/P_writing.svg/48px-P_writing.svg.png" width="48" height="43"></a></div>
  4. <div style="font: 13pt Verdana; font-weight:bold; padding:5px; border-bottom:1px solid #AAAAAA;">Cytat dnia</div>
  5. <div style="font-size:12pt; padding:5px">
  6. <table align="center" style="background-color: transparent">
  7. <td><i><b>Ludzkość to my, czy nam się to podoba czy nie.</b></i></td>
  8. </tr>
  9. <tr>
  10. <td align="right"><a href="/wiki/Samuel_Beckett">Samuel Beckett</a></td>
  11. </tr>
  12. </div>
  13. <br>
  14. <br>
  15. <div style="text-align:right;margin-right:10px;margin-bottom:4px;"><b><a href="/wiki/Kategoria:Cytaty" title="Kategoria:Cytaty">Zobacz więcej sławnych cytatów</a></b></div>
  16. </td>

i potem np jeszcze głębiej ale myślę że jeśli by mi ktoś wytłumaczył jak to wyciągnąć to głębiej już dałbym sobie radę sam.
Jak powinno wyglądać przykładowe wyrażenie regularne aby można było coś z tego wyciągnąć?
Jak wyciągnąć np z tego:
  1. <category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat' term='yogscast'/>
  2. <media:title type='plain'>Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands</media:title>

wartość scheme i term oraz zawartość pomiędzy znacznikiem media:title??
Prosiłbym o (tak jak wspomniałem) dość łapotologiczne wytłumaczenie.
neosatan
Osobiście Ci poradzę, że do parsowania dokumentów opartych na xml to DOM się używa, ale jak chcesz się nauczyć bardzo ładnie wyrażeń regularnych to odsyłam do awk (program pod linuchem) i jego dokumentacji. Świetne przykłady są w internecie.
Zyx
To tak średnio szukałeś:

http://forum.php.pl/index.php?showtopic=166273
shinuexx
Dzięki Zyx, co nieco z podstaw wyrażeń załapałem, tylko dalej pozostaje pytanie jak na moich przykładach to wykorzystać. Samą logikę może rozumiem tylko że nie jestem w stanie wykorzystać tego w praktyce. Tzn. nie wiem jaka składnia tego wyrażenia powinna być, aby można było znaleźć interesujące mnie rzeczy.
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.