![]() |
![]() ![]() |
![]() |
-grzegorz_m- |
![]()
Post
#1
|
Goście ![]() |
Witam potrzebuję pomocy przy rozwiązaniu następującego problemu:
-mam tekst: [img]ala ma kota [123456789...] kot ma ale [tx1] tekst dowolny ... [img] bla bla -z powyższego tekstu chciałbym uzyskać: [something] = something -czyli wszystko co jest w nawiasach [coś]jest kluczem do tego co za nim jest wpisane (klucze z zakresu {3,12} ). Uzyskałem coś takiego:
Array ( [1] => ala ma kota [2] => kot ma ale [3] => tekst dowolny ... [4] => bla bla ) ...a chciałbym coś w tym stylu: [img] => ala ma kota [123456789...] => kot ma ale [tx1] => tekst dowolny ... [img] => bla bla Jak sprawdzić, że ala ma kota zostało poprzedzone [img] (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? (niestety stosując funkcję split trację wiedzę na temat tego co rozbija sring na części) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
?
Kod <?PHP $str = '[img]ala ma kota [123456789...] kot ma ale [tx1] tekst dowolny ... [img] bla bla'; $res = preg_match_all("/\[(.{3,12})\]([^\[\]]+)(?!\[)/", $str, $_matches); //unset($res[0]);//pierwszy element jest pusty zawsze //print_r($res); echo "<pre>"; var_dump ($_matches); echo "</pre>"; exit; ?> Dalej juz chyba dasz rade |
|
|
-grzegorz_m- |
![]()
Post
#3
|
Goście ![]() |
Wcześniej udało mi się spłodzić coś takiego:
Efekt [img]ala ma kota [txt1]kot ma ale [tx2]tekst dowolny ...[img] bla bla Value: ala ma kota Type: [img] Value: kot ma ale Type: [txt1] Value: tekst dowolny ... Type: [tx2] Value: bla bla Type: [img] Widzę jednak, że bardziej od myślenia przydałaby mi się tutaj znajomość funkcji... Bardzo dziękuję za pomoc i poświęcony mi czas (IMG:http://forum.php.pl/style_emoticons/default/graduated.gif) |
|
|
-grzegorz_m- |
![]()
Post
#4
|
Goście ![]() |
Możecie mi powiedzieć co jest nie tak z tym wyrażeniem, że w zdaniach ucina mi ostatnią literę (nie dotyczy ost. zdania), więc chyba przez "["
to jest al a powinno być to jest ala Nie bardzo rozumiem to "/\[(.{3,12})\]([^\[\]]+)(?!\[)/" wyrażenie, więc nie umiem doszukać się błędu (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:07 |