Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydobycie kodu PHP z tekstu, preg_match_all
barthpl
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


Czy ktoś wie w jaki sposób przy pomocy preg_mach_all z kodu na przykład takiego
  1. <?php echo 'ala ma kota' ?>
  2. </head>
  3. <body><?php
  4. $p->getValue( 'ala' );
  5. echo $t * 7;
  6. ?></body>
  7. </html>

wydobyć elemnty kodu PHP
  1. echo 'ala ma kota'

  1. $p->getValue( 'ala' );
  2. echo $t * 7;

Jak na razie udało mi się to zrobić pod warunkiem że jest w jednej lini
  1. preg_match_all( '/\<\?php (.{0,}) \?\>/i', $item, $code );

jakiś pomysł jak to poprawić (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował barthpl 16.10.2011, 19:52:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wizu
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Nie wystarczy (.*?) ?

Ten post edytował wizu 16.10.2011, 19:21:49
Go to the top of the page
+Quote Post
barthpl
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


niestety, daje to taki sam efekt jak poprzednio.
Go to the top of the page
+Quote Post
wizu
post
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Druga sprawa, nie zamknąłeś ?> w drugim przykładzie.
Usuń także spacje z wyrażenia, w końcu może tam być znak nowej linii a nie spacja <\?php(.{0,})\?\>

@edit
a i zapomniał bym. Żeby kropka łapała również znak nowej linii, musisz dodać modyfikator s:
Kod
/\<\?php(.*?)\?\>/is


Ten post edytował wizu 16.10.2011, 19:54:30
Go to the top of the page
+Quote Post
barthpl
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


jesteś wielki, właśnie tego "s" szukałem (IMG:style_emoticons/default/wink.gif)
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: 16.09.2025 - 19:01