Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wyciecie z tekstu danego ciagu. Pomocy
Forum PHP.pl > Forum > Przedszkole
sajnet
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 questionmark.gif jak to zorbic ? ma ktos pomysl ?

sorki ze nie w tym dziale. szukalem i tak napisalo mi sie tu smile.gif
l0ud
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ść' smile.gif
strife
A co to ma wspólnego z OOP? Następnym razem patrz gdzie piszesz ~sajnet.

Przenoszę na Przedszkole.
Crozin
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. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.