Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie powtarzania znaków, regexp
czachor
post 30.05.2007, 17:32:31
Post #1





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam, mam takie coś...
  1. <?php
  2. $no = '!?.,';
  3. $maxChars = 4;
  4. $str='ciąg znaków!!!!! aaaaaaaaaa questionmark.gifquestionmark.gif?.......';
  5.  
  6. $pattern = '/[' . $no . ']{' . $maxChars . ',}/ei';
  7. var_dump(preg_replace($pattern, "substr('0', 0, " . $maxChars . ")", $str));
  8. ?>


Wykonanie tego kodu zwróci:
Kod
ciąg znaków!!!! aaaaaaaaaa questionmark.gifquestionmark.gif


Zasadniczo jest ok, bo usuwa powtórzenia wybranych znaków, gdy jest ich więcej niż 4, z tym że ten regexp traktuje np. "?questionmark.gifquestionmark.gif......." jako jeden element i skraca do "?questionmark.gif?" (a nie osobno znaki zapytania i kropki).

Chcę osiągnąć, żeby skrypt usuwał mi powtórzenia każdego wymienionego znaku osobno, czyli w tym przykładzie na końcu powinno być "?questionmark.gif?....". Nie potrafię odpowiednio skonstruować wyrażenia...

Będę wdzięczny za pomoc smile.gif


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 16:05