Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działający trim
Forum PHP.pl > Forum > Przedszkole
Qwak
Hej!
Chcę z takiego kodu
  1. </body>
  2. </html>

dostać

trim(); nie działa o_O (ciekaw jestem dlaczego)
Proszę o pomoc i pozdrawiam,
QWAK
Spawnm
A zobacz sobie w dokumentacji jak działa trim() ;]
Przenoszę do przedszkola.
flashdev
Cytat(Qwak @ 29.08.2010, 22:19:41 ) *


str_replace - ta funkcja bardziej się do tego nadaje
wookieb
raczej nie str_replace tylko szybciej będzie preg_replace z użyciem klasy znaków \s
cojack
Ja bym to zrobił tak:

  1. $a = "<html>
  2. <body>
  3. </body>
  4. </html>";
  5.  
  6. $arr = str_split($a);
  7.  
  8. $n = count($arr);
  9.  
  10. for($i = 0; $i<$n; $i++) {
  11. if( !trim($arr[$i]) ) unset( $arr[$i] );
  12. }
  13. $a = implode(NULL,$arr);
  14.  
  15. echo($a);


haha.gif
Qwak
Ogarnąłem to już winksmiley.jpg Sorry za zaćmienie. Dzięki.
flashdev
Cytat(wookieb @ 30.08.2010, 09:39:42 ) *
raczej nie str_replace tylko szybciej będzie preg_replace z użyciem klasy znaków \s


  1. <?php
  2.  
  3. function microtime_float(){
  4. list($usec, $sec) = explode(" ", microtime());
  5. return ((float)$usec + (float)$sec);
  6. }
  7.  
  8. $start = microtime_float();
  9. $i = 1e6;
  10. while( $i-- ){
  11. str_replace(array("\n", "\r", "\t", "\v"), '', $string);
  12. }
  13. $end = microtime_float();
  14. echo 'czas: ' . ($end - $start) . '<br>'; // 3.5184149742126
  15.  
  16.  
  17. $start = microtime_float();
  18. $i = 1e6;
  19. while( $i-- ){
  20. preg_replace('/\s/', '', $string); // nie wiem czy to miales na mysli, jesli nie to popraw mnie
  21. }
  22. $end = microtime_float();
  23. echo 'czas: ' . ($end - $start) . '<br>'; // 4.8087468147278
  24.  
  25. ?>


Aha, no i trzeba pamiętać, że spacja też należy do klasy znaków \s. A nie sądze, żeby autor tematu ją też miał na myśli.
Dołącz to tego wyrażenia warunek nie uwzględniający spacji, a będzie jaszcze wolniej.
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.