Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] pytanie odnośnie wyrażeń regularnych
-___-
post
Post #1





Goście







Witam,
piszę sobie skrypt który mi będzie zamieniać wyrazy na ich odpowiedniki np. słowo ala zamieni mi na ala ma kota (coś jak cenzura). napisałem sobie wyrażenie

  1. <?php
  2. $text = preg_replace( "/".$r['pattern']."/i", "$r['replace']", $text );
  3. ?>


tyle tylko, że jeżeli $r['pattern'] = ala a w tekście jest np. w tartaku nie ma bala to słowo ala też zostanie zamienione ? chcę zrobić dopasowanie strict, czyli jeżeli ma zamieniać ala to ma zamienić ala a nie także bala. Jak ulepszyć to wyrażenie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) bardzo proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


ja bym raczej polecał coś bardziej konkretnego czyli jak we wcześniejszym wątku [PHP]Cenzor:
$str = 'ala ma ccc..ch.h.h.h.uoo.ooóouiii..i.jj..jaaaaaa';
echo preg_replace("/h(\.| |-)*(u|o|ó|(\.| |-))*(\.| |-)*(i|j|(\.| |-))*/i",'x',$str);
Dzięki temu możemy sobie pisać słowo "chuj" jak tylko chcemy używając spacji podkreśleń kropek a i tak będzie działało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Można rozbudować o system wyjątków takich jak podsłu czy coś. (Zaznaczam, że to działa z każdym słowem wystarczy tylko chwilkę się zastanowić, a żadne mistrz bluzgu nie wygra z nami (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) no chyba, że użyje niestandardowych znaków lub sposobów jak np. !@#$%^&*() ale to można w końcu dopisać prawda ?)

Ten post edytował golaod 19.08.2008, 13:28:55
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.12.2025 - 05:56