Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Preg_replace z ograniczeniem ilości
Forum PHP.pl > Forum > Przedszkole
jajcarzd1
Witam

W jaki sposób zapisać wyrażenie preg_replace aby oprócz usunięcia niechcianych znaków ograniczył ciąg do konkretnej długości ? Chciałbym poniższe wyrażenie o to wzbogacić bo jak na razie to usuwa mi tylko znaki inne niż cyfry.

  1. echo preg_replace('/[^\d]/','',$a);


No i jak tam nikt mi nie podpowie ?
Wicepsik
Ciężko zajrzeć do manuala ?
cojack
A to w necie nie ma tutoriali do REGEXPa? Temat do zamknięcia. Aż huczy w necie od tego typu danych. http://www.programuj.com/artykuly/www/regularne.php Sam się na nim uczyłem.
jajcarzd1
Nie chodzi o to że nie zaglądałem do manula czy nie szukałem po necie. Zawsze jakoś mam problemy z tymi cholernymi wyrażeniami. Poniższe opcje nie za bardzo mi działają a nie mam pomysłu jakbymi miał to inaczej zrobić,

  1. preg_replace('/[^\d]{5}/','',$a);
  2. preg_replace('/([^\d]){5}/','',$a);
smietek
Chyba jednak nie szukałeś w Manualu rozwiązania swojego problemu:
preg_replace
Zobacz argumenty jakie przyjmuje ta funkcja...

A z resztą, nie możesz po prostu tego ciągu obciąż z pomocą substr?
jajcarzd1
Cytat(smietek @ 7.07.2010, 11:04:17 ) *
Chyba jednak nie szukałeś w Manualu rozwiązania swojego problemu:
preg_replace
Zobacz argumenty jakie przyjmuje ta funkcja...


Oczywiście ze patrzyłem do manula, ale przeciez argument limit ogranicza ilość możliwych zamian, ja natomiast potrzebuje po usunięciu niepotrzebnych znaków obciąć ciąg do danej długości. Jesli mam coś takeigo

  1. $a = '- 12-34 5677fdghdfhd1';
  2. echo preg_replace('/[^\d]/','',$a,2);


to usunię mi tylko dwukrotnie niedozwolony znak i otrzymam

Kod
12-34 5677fdghdfhd1



Cytat(smietek @ 7.07.2010, 11:04:17 ) *
A z resztą, nie możesz po prostu tego ciągu obciąż z pomocą substr?


No pewnie że mogę ale pytam w jaki sposób mogę to zrobićź od razu w pregu
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.