Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrazenia regurlarne i znaki "!"
holee
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Chełm

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


Mam taki problem. Mam na stronie fajny skrypcik do dodwania komentarzy, ale wkurza mnie to, ze ludzie wpisuja mnostwo znakow "!" po rzad, czyli (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !!!!!!!!!!!!!!!!!!!!!!!!!!!
Nie wiem po co oni to robia, ale to jest ochydne, pewnie sie ze mna zgodzicie ;-)
Probowalem troche sam dzialac, ale za bardzo mi to nie wychodzilo (nie bardzo to za duzo powiedziane, ja w ogle nie wiem jak to powinno wygladac mimo lektury).
Zeby kod tak dzialal ze gdy uzttkownik doda wiecej niz 3 znaki "!" to automatycznie skroci mu do 3 znakow.
A jak doda 2 znaki "!" to doda jeszcze jeden zeby bylo ich 3.
Prosze o pomoc bo sam sobie nie poradze.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Bo to sa znaki specjalne uzywane w regexpach, wiec trzeba je poprzedzic backslashem (Jak nie wiesz, ktore to najbezpieczniej przepuscic przez preg_quote" title="Zobacz w manualu PHP" target="_manual).
Mozna tez machnac wszystko za jednym razem:
  1. <?php
  2.  
  3. // znaki, ktore maja byc ograniczone do 3
  4. $znaki = array('!', '?', '.');
  5.  
  6. $re = implode('|', array_map('preg_quote', $znaki));
  7.  
  8. $tresc = preg_replace('#('.$re.'){2,}#e', 'str_repeat(\"1\", 3)', $tresc);
  9.  
  10. ?>
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: 14.10.2025 - 17:53