Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Reg Exp ucinanie ciurka znaków
Forum PHP.pl > Forum > Przedszkole
fate
Witam chciałbym zrobić coś jak tu:
http://www.forumweb.pl/php/usuwanie-powtar...ow-regexp,29305
ale nie za bardzo mogę znalesc informacje na ten temat.

Otóż szukam funkcji która obetnie mi znaki pisane ciurkiem tj. 1111111111 AAAAAAAAAAAA @@@@@@@@ wwwwwww powiedzmy jeżeli jest ich min 5 obok siebie to nadwyżkę uciąć właśnie do właśnie 5 niezależnie czy w środku wyrazu na poczatku czy na koncu.

Bawiłem się troche na regexp.pl ale bez skutku dla mnie wyrażenia regularne to świeży temat i do tej pory nie miałem okazji zapoznać się ze szczegołowym poradnikiem

Rozumiem że trzeba tu użyć preg_replace nie za bardzo rozumiem czym się różni odpreg-replace-callback
^.{5,}$ to się nie nada chyba że bym wypisał zamiast kropki z palca wszystkie znaki z operatorem OR, czy to jedyne wyjście??

WYdaje mi się że pomogłoby tu backfreferences ale musiałbym kogoś poprosić zeby mnie naprawodził jak tego użyć..

Korzystacie z tego typu filtraów danych na własnych platformach? nerdsmiley.png

POMOCY - pozdrawiam
d3ut3r
spróbuj: (\w)\1{5,}
fate
czegoś tu brakuje.. może uraczy ktoś jakimś linkiem.

Idealnie działa w tym momencie dla mnie tylko to:

[0]{5,}|[1]{5,}|[2]{5,}|[3]{5,}|[4]{5,}|[5]{5,}|[6]{5,}|[7]{5,}|[8]{5,}|[9]{5,}

i wypisałem dopiero dla cyfr musiałbym dopisać jeszcze litery i znaki

Jak to uprościć? brzydal.gif
d3ut3r
  1. $string='helloooooooaaaaaaa 11111111111111 12';
  2.  
  3. $tmp=preg_replace('/(\w)\1{5,}/','',$string);
  4.  
  5. var_dump($tmp);


zwróci:

hell 12


nie o to chodziło ?
fate
Bez kitu yahoo.gif jest prawie tak jak miałem na myśli thumbsupsmileyanim.gif sprawdzałem na regexp.pl a nie bezposrednio w projekcie i dlatego skull.gif
np takie wyrazenie ooooooooooooooooo888 wyrzuca mi prawde czyli obcina calość dostal.gif
http://regexp.pl/main/show/147860
Albo źle wpisuje ale stosowałem sie do schematu i na rozne sposoby sprawdzełem, nie ufam tej stronce blink.gif

W takim razie nadawałoby się ale prosiłbym o pomoc w konstrukcji zamieniacza żeby te 5 znaków wstawiało a reszte to co po 5 ucinało albo zamieniać znakiem pustym tyle że 5 pierwszych jednak nie ruszać

a jak się nie da to i tak wdzięczność i takie się nada Rkingsmiley.png
dzieki wielkie

wróciłem do tematu dopracowałem zamiane na pojedyńczy znak który sie powtarzał ale nie wiem jak dodac ru znaki specjalne
  1. $_POST['tresc'] = preg_replace('/([\da-zA-Z@])\1{5,}/','$1',$_POST['tresc'],-1,$ciurki);
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.