Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dzielenie ciągu wyrażeniem regularnym, według tagów HTML
mike
post
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
(
    [0] => Jakiś tekst
    [1] => <sup>napisany w</sup>
    [2] => indeksie
    [3] => <sub>dolnym</sub>
)
wtedy już da radę takie informacjie wyłuskać.

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ę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Radarek
post
Post #2





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

  1. <?php
  2. preg_match_all("#<([^>]+).*?</\\1>|[^<]+#", $str, $m);
  3. print_r($m);
  4.  
  5. ?>
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: 4.10.2025 - 03:44