![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam dość nietypowy problem, z którym nie mogę sobie poradzić, ponieważ nie znam wyrażeń regularnych, a nie podejrzewam, że można go rozwiązać w inny sposób.
Problem jest następujący: Chciałbym z takiego oto ciągu: Cytat Jakiś tekst <sup>napisany w </sup> indeksie <sub>dolnym</sub> uzyskać taką tablicę: Kod Array ( [0] => Jakiś tekst [1] => napisany w [2] => indeksie [3] => dolnym ) Chociaż z drugiej strony przechodząc po takiej tablicy nie będę wiedział w jakim tagu (lub bez) był fragment, więc chyba dobrym pomysłem będzie żeby ciągi zawierały tagi: Kod Array wtedy już da radę takie informacjie wyłuskać.( [0] => Jakiś tekst [1] => <sup>napisany w</sup> [2] => indeksie [3] => <sub>dolnym</sub> ) Tagów może być dowolna ilość, ale zawsze będe pozamykane i nie będą się zagnieżdżały, ani przecinały: <sup><sub></sup></sub> Jeśli ktoś ma pomysł jak ugryść ten temat, bardzo proszę o podzielenie się. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Na pewno musisz to potraktować wyrażeniami regularnymi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Zobacz tutaj a szczególnie "Grabbing HTML Tags" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Powodzenia |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, kolejny raz sam sobie odpowiedam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Oto rozwiązanie (może i da się prościej, ale na razie nie wiem jak):
Wynik: Kod Jakiś tekst <sup>napisany w </sup> indeksie <sub>dolnym</sub>. Tak. Wiecej <sub>tagow</sub>. Jeszcze <sup>wiecej</sup>. I cos na koniec. Array ( [0] => Jakiś tekst [1] => <sup>napisany w </sup> [2] => indeksie [3] => <sub>dolnym</sub> [4] => . Tak. Wiecej [5] => <sub>tagow</sub> [6] => . Jeszcze [7] => <sup>wiecej</sup> [8] => . I cos na koniec. ) P.S. @frelu dzięki za pomoc! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ajaja mike, wlasnie ci napisalem rozwiazanie, ale mnie ubiegles (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
|
|
|
![]()
Post
#5
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
czytaj manual'a - zawsze chcialem to napisac moderatorowi (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)
preg_match_all() Tam jest masa przykladow jak sparsowac html'a:) --- Hehe, wiedziałem, że mi ktoś to napisze. ~hwao uwierz mi jest ich masa, ale żaden nie podchodzi pod moje zagadnienie. Zresztą rozwiązanie już mam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ~mike_mech --- (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) ~mike_mech musialem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Btw: Te Twoje rozwiazanie wydaje mi sie bardzo nie optymalne? Tak sobie mysle czy nie lepiej by bylo uzyc preg_split() i "dzielic" znacznikami html'a (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pomysl o ile to lepsze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale to tylko moje IMHO! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam ~hwao |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Radarek @ 2006-02-07 11:37:03) Ajaja mike, wlasnie ci napisalem rozwiazanie, ale mnie ubiegles (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Tak właśnie czułem że da się jednym. Czas się nauczyć wyrażeń regularnych. [pomógł] <- click |
|
|
![]()
Post
#7
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
z glowy. Jezeli chcesz lapac jeszcze html'owskie tagi zapraszam do manuala masz nawet gotowce:) |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Oj, przestańcie mnie dołować, że to jest takie proste (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Zaczynam się uczyć wyrażeń (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#9
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Hm.. to nie jest proste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale patrz
Sam napisales Dzielenie ciągu wyrażeniem regularnym to poco go "lapiesz"? Trzeba jechac na logike (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
W sumie ~Radarek podał idealne dla mnie rozwiązanie.
Ale zapytam: ~hwao da się u ciebie tak, żeby tagi zostawały? Chyba nie. A mi potrzebna informacja skąd brały się poszczególne części tekstu. |
|
|
![]()
Post
#11
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
oczywiscie ze sie da;)
Pisałem ze zapraszam do Manuala (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) preg_split() (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pokaze Ci cos hardcorowego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Zródło preg_split() - komentarze, autor: Jappie wyplowa Kod Array ( [0] => <html> [1] => <body> [2] => <p class="a<weird>name"> [3] => The classname is not seen as a different tag [4] => </p> [5] => </body> [6] => </html> ) Oczywiscie sa tez dzialajace prosciej i szybciej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) --- Chylę czoła. ~nospor wlep mi ostrzeżenie za niewiedzę (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) ~mike_mech |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.02.2006 Ostrzeżenie: (10%) ![]() ![]() |
Mi się najbardziej podoba coś takiego:
Bo ponieważ piłka jest krótka a przy tym wyrażenie w miarę proste. Szacunek dla Radarka. Ten post edytował frelo 7.02.2006, 13:55:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:04 |