Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Wyciecie z tekstu danego ciagu. Pomocy
sajnet
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 15.04.2007

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


Witam moim problem jest ze neiwiem jak wyciac dany element z ciagu, np.

  1. Ut in diam. Pellentesque #IF habitant morbi tristique #END senectus et netus et malesuada fames ac turpis egestas. Morbi in elit.


Chodzi mi o wybranie tekstu miedzy #IF a #END (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) jak to zorbic ? ma ktos pomysl ?

sorki ze nie w tym dziale. szukalem i tak napisalo mi sie tu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Powód edycji: Dodaje tag /~strife/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Poczytaj o wyrażeniach regularnych i funkcjach z nimi związanych:

http://uk.php.net/manual/pl/function.preg-match.php
Gdy tych ciągów będzie mogło być kilka
http://uk.php.net/manual/pl/function.preg-match-all.php

Wyrażenie będzie proste, wystarczy zdefiniować początek ciągu, koniec i wyłączyć 'zachłanność' (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
strife
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


A co to ma wspólnego z OOP? Następnym razem patrz gdzie piszesz ~sajnet.

Przenoszę na Przedszkole.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


To co napisał @l0ud jest jak najbardziej poprawne, jednak wyrażeń regularnych powinno się unikać (ze względu na ich zasobożerność (jednak zawsze powinno się zrobić test, aby sprawdzić czy aby w danym, konkretnym przypadku nie są szybsze))
  1. <?php
  2. $str = 'Ut in diam. Pellentesque #IF habitant morbi tristique #END senectus et netus et 
    malesuada fames ac turpis egestas. Morbi in elit.'
    ;
  3.  
  4. $ifPos = strpos($str, '#IF');
  5. $endPos = strpos($str, 'END#');
  6.  
  7. if($ifPos === false || $endPos === false)
  8. exit('Ciąg $str nie zawiera instrukcji #IF ... END#');
  9.  
  10. $result = substr($str, $ifPos + 4, $endPos);
  11.  
  12. echo $result;
  13. ?>
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: 22.08.2025 - 15:23