Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z wyrażeniami regularnymi ;/
Forum PHP.pl > Forum > Przedszkole
fish2000
witam, mam problem, mianowicie nie mogę wyciągnąć interesującego mnie tekstu,


mam takie coś
Kod
        <li><p style="text-align:justify">
            tekst ważny dla mnie
            </p></li>

po tym <li><p style="text-align:justify"> jest przejście do następnej linijki + 3 tabulatory, i przez to nie mogę wyciągnąć tego tekstu :/
może ktoś pomóc biggrin.gif?
Spawnm
  1. <?php
  2. /<li><p style="text-align:justify">(.*)</p></li>/
  3. ?>

?
Andaramuxo
Funkcja trim(), spróbuj nie zaszkodzi, ale nie jestem pewien.
erix
Wyciągnąć? Z lochu? snitch.gif

Nawet nie podałeś wzorca, szklane kule na wakacjach.
fish2000
Cytat(Spawnm @ 16.06.2009, 16:59:05 ) *
  1. <?php
  2. /<li>(.*)
  3.  
  4. /
  5. ?>

?

to nie działa :/
Cytat(Andaramuxo @ 16.06.2009, 16:59:17 ) *
Funkcja trim(), spróbuj nie zaszkodzi, ale nie jestem pewien.

nie chce działać :/
Cytat(erix @ 16.06.2009, 17:02:16 ) *
Wyciągnąć? Z lochu? snitch.gif

Nawet nie podałeś wzorca, szklane kule na wakacjach.

może nie do końca jasno przedstawiłem sytuację

jeśli mam takie coś
Kod
<b>ala ma kota</b>

to aby wyciągnąć ala ma kota potrzebuje preg_match('|<b>(.*)</b>|', $a, $b);
ale ja mam takie coś
Kod
<b>
            ala ma kota
            </b>

to ta funkcja u mnie nie działa, przez te tabulatory :/
erix
A o flagach wzorca czytałeś? snitch.gif Bo jednej potrzebujesz.
Snickers01
Rozumiem, ze przez tajemnicze pojecie "wyciągnąć interesującego mnie tekstu" masz na mysli pozstawienie w zmiennej tylko tego tekstu "tekst ważny dla mnie".
Czyli wywalamy całą reszte.
jak dla mnie mozna to w prosty sposob zrobic tak:
  1. <?php
  2. $var1 = '       <li><p style="text-align:justify">
  3.            tekst ważny dla mnie
  4.            </p></li>';
  5. $var2 = preg_replace('/<.*\">s*/','', $var1 );
  6. $var2 = preg_replace('/s*</.*i>/','',$var2);
  7. $var2 = preg_replace('/(\n*)/','',$var2);
  8. echo $var2;
  9. ?>
erix
Przekombinowałeś. Po co marnować procesor na coś, czego nie wykorzystasz?

Tamto wyrażenie jest dobre, trzeba tylko dodać odpowiednią flagę.
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.