Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [solved] [PHP] Znów wyrażenie regularne, Co mam źle?
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Hej!
Mam tekst:
Cytat
{quote=\"JackK\",6952}Jakiś czas temu znajomy pokazał mi książkę \"Wielkie oczekiwania\". {/quote}Sprawdź!{quote=\"JackK\",6952}To, co widzimy, nie jest tym, co dostajemy. {/quote}Tu również.
Wywołuję na nim:
  1. <?
  2. $preq = preg_match_all("#\{quote=\\\"([^\"]+)\\\",(\d+)\}(.*)\{/quote\}#", $tresc, $qt);
  3. echo "<br />preq = $preq<br />";
  4. print_r($qt);
  5. ?>
i dostaję:
Kod
preq = 0
Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) )

Dlaczego (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/blinksmiley.gif)

Ten post edytował Blackhole 20.05.2010, 15:02:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Bo masz \ w tekście
Go to the top of the page
+Quote Post
Blackhole
post
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


No mam, wiem o tym. Dlatego dałem \\\". Powinno więc działać chyba (IMG:style_emoticons/default/worriedsmiley.gif)
Go to the top of the page
+Quote Post
jaslanin
post
Post #4





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


Kod
<?php

function print_pre ($var)
{
    echo "<pre>";
    print_r($var);
    echo "</pre>";
}

function echo_var($name) {
    $name = str_replace('$', '', $name);
    global $$name;
    echo "$name = {$$name}";
}

$code = <<<end
{quote=\"JackK\",6952}Jakiś czas temu znajomy pokazał mi książkę \"Wielkie oczekiwania\". {/quote}Sprawdź!{quote=\"JackK\",6952}To, co widzimy, nie jest tym, co dostajemy. {/quote}Tu również.
end;

$preq = preg_match_all("#{quote=\"([^\"]+)\",(\d*)}(.*?){/quote}#", stripslashes($code), $qt);


echo_var('$preq');
print_pre($qt);

?>


zapewne można to lepiej zrobić (IMG:style_emoticons/default/smile.gif)

Ten post edytował jaslanin 20.05.2010, 12:37:52
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nic z tego, że dodałeś slashe bo wszystko psuje ci to
Kod
[^\"]

Dlatego wystarczyło podać stripslashes jak kolega powiedział.
Go to the top of the page
+Quote Post
Blackhole
post
Post #6





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Ok, dzięki za pomoc.
Go to the top of the page
+Quote Post

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: 3.10.2025 - 15:32