Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie powtarzania znaków, regexp
czachor
post
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.  
  5. $pattern = '/[' . $no . ']{' . $maxChars . ',}/ei';
  6. var_dump(preg_replace($pattern, "substr('0', 0, " . $maxChars . ")", $str));
  7. ?>


Wykonanie tego kodu zwróci:
Kod


Zasadniczo jest ok, bo usuwa powtórzenia wybranych znaków, gdy jest ich więcej niż 4, z tym że ten regexp traktuje np. "?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ......." jako jeden element i skraca do "?(IMG:http://forum.php.pl/style_emoticons/default/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ć "?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?....". Nie potrafię odpowiednio skonstruować wyrażenia...

Będę wdzięczny za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.09.2025 - 07:12