Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pewne rozdzielenie linijek
Forum PHP.pl > Forum > PHP
.radex
Może pytanie trywialne, ale nie znam skutecznego sposobu na rozdzielenie poszczególnych linijek, tak aby nie miało znaczenia czy jest pisane w stylu Windowsa, Linuksa czy Mac OS'a. Czy istnieje do tego gotowa funkcja?

btw. źle napisałem że nie znam skutecznego sposobu, bo zawsze można za pomocą str_replace zamienić wszystkie sposoby, na np. tylko typowy enter (dla przykładu w dosie i windowsie trzeba dac enter i dodatkowo powrót karetkarki (biggrin.gif)), za pomocą chr. Chodzi o gotową funkcje.
Moli
Nie rozumiem, jak to rozdzielenie linijek ? Mógłbyś na jakimś przykładzie to lepiej opisać smile.gif
Kicok
AFAIK nie ma do tego gotowej funkcji. Możesz albo przy pomocy str_replace" title="Zobacz w manualu PHP" target="_manual zamienić wszystkie entery na jakiś jeden wybrany styl i rozbić tekst przy pomocy explode" title="Zobacz w manualu PHP" target="_manual, np.:
  1. <?php
  2.  
  3. $test = "_____r\n_____\n_____r_____";
  4.  
  5.  
  6. $test = str_replace( array( "r\n", "r" ), "\n", $test );
  7.  
  8. $array = explode( "\n", $test );
  9. echo '<pre>' . print_r( $array, true ) . '</pre>';
  10.  
  11. ?>



Albo napisać proste wyrażenie regularne, które rozpozna wszystkie typy enterów:
  1. <?php
  2.  
  3. $test = "_____r\n_____\n_____r_____";
  4.  
  5.  
  6. $array = preg_split( '/r\n?|\n/', $test );
  7. echo '<pre>' . print_r( $array, true ) . '</pre>';
  8.  
  9. ?>
.radex
dzięki, o to mi chodziło. Sposób z str_replace o explode znam (patrz: pierwszy post), regexpy nie mają sensu (pewnie są wolniejsze, a jedna linijka więcej nie robi różnicy:P)...

Temat LOCK...

Pozdro winksmiley.jpg
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.