Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_replace wywalic wszystko poza literami, cyframi i spacjami.
Forum PHP.pl > Forum > Przedszkole
grywalny
siema jestem okrutnie beznadziejny w wyrazeniach regularnych bo nigdzie na necie nie istnieje cokolwiek co by tego nauczylo
potrzebuje zeby preg replace wyrzucil ze stringa wszystke znaki ktore nie sa litera lub cyfra, ale spacje zostawil jak byly.


  1. $title = preg_replace('#\W#', '', $title);


Znalazlem cos takiego ale to mi tez spacje wylapuje i to jest ten mankament. Jak to zmienic zeby spacje jednak zostawil w spokoju?
jaslanin
  1. <?php
  2.  
  3. echo preg_replace('#[^\wzó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ ]#', '', 'sd fasdf asdfasf 356 łd %$^&%$ dfs');
  4.  
  5. ?>


+++ dodałem jeszcze polskie znaki
Nikto¶
@UP
Nie s± uwzględnione polskie literki w Twoim wyrażeniu.
#[^¶ć¦Ć\w ]#-dodaj wszystkie polskie literki a na końcu \w
Necsord
  1. preg_replace('#[^\p{L}\s\d]#u', '', 'abcd 1234 ˇĘĆŻ¬ $%^&* _>:"');


Poprawiony jeden szczegół. Powyższy regex zachowuje litery, cyfry, spacje, taby, końce lini.
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.