![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 31.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Na stronie mam formularz w ktorym ludzie wpisuja komentarze (w polu texarea) chcialbym wyeliminowac z tekstu wszelkie adresy stron www podawane przez uzytkownikow i zastapic je np. slowem [SPAM] ...
Nie moge zabardzo ogarnąc funkcji ereg ktora powinna to wykonac z tego co mi wiadomo... czy ktos ma mzoe gotowy przepis albo jakas funkcje do tego... a moze moglby mi ktos wyajsnic jak to ereg dziala i jak budowac tam rozne zalozenia... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hmm, a nie lepiej zamiast eregów użyć funkcji [manual:3408cc3211]strip_tags[/manual:3408cc3211], która usunie wszystkie znaczniki HTMLa? Wtedy odpada także problem wrzucania na stronę skryptów Javascript.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 30.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
mozna to rozwiazac w ten sposob:
[php:1:168968ccea]<?php $wzor = jakies_wyrazenie_regularne $zamiana = ereg_replace($wzor, "SPAM", $text); echo "$zamiana"; ?>[/php:1:168968ccea] -------------------- Warsztat: Apache 2.0.48 | MySQL 4.1.1 | PHP 5.0.0RC1 | Crimson Editor
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
mistrzu, a wyrazie regularne?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 31.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Chyba musze troche dokladniej opisac o co mi chodiz bo widze ze nie do konca mnie wszyscy zrozumieli...
wiec chodiz o to zeby w komentarzach ktore beda dodawac ludzie nie bylo adresow do stron... nie chodiz mi o linki bo to jzu mam zabezpieczone (wlasnie za pomoca strip_tags) lecz o adres jako tekst... czyli zeby np komentarz takl: "Cze ludziska tu Janek z Bogdańca zapraszam na moja strone www.mojastara.pl .. olejcie ten sajt wchodzcie do mnie" wyglądał tak: "Cze ludziska tu Janek z Bogdańca zapraszam na moja strone [SPAM] .. olejcie ten sajt wchodzcie do mnie" no i to wsytsko Nie moge zrobic tego tak bo skad ma wiedzec jaki adres wymysli uzytkownik? [php:1:11b8e6c5d3] <?php $wzor = jakies_wyrazenie_regularne $zamiana = ereg_replace($wzor, "SPAM", $text); echo "$zamiana"; ?> [/php:1:11b8e6c5d3] potzrebne mi cos takiego jak czesto robi sie przy mailach... fubnkcja sprawdza czy jest cos przed malpa i za małpa ile to ma znakow itd... i mi jets wlasnie takie cos potzrebne zeby sprawdzalo np czy jest www. albo jeden ciagly wyraz z 2 kropkami i przy ostatniej kropcje np 2 lub 3 literki... chodiz mi o cos takiego... ale sam nei potrafie zbudowac takiego ereg... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 0 Dołączył: 5.05.2003 Skąd: Mazury Ostrzeżenie: (0%) ![]() ![]() |
coś w tym stylu:
Kod ^(http://)+.*s+$
-------------------- <<< EB >>>
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zobacz moj wymysł - na pewno nie jest świetny ale na pewno utrudni spamerom życie :
[php:1:433b112d4d]<?php $zamiana=eregi_replace("(http|s://|ftp://|www|http://)+(.+)+([/.]|/)+([a-z]{2,4})", "[spam]", $text); ?>[/php:1:433b112d4d] [edit] To będzie chyba lepsze: [php:1:433b112d4d]<?php $zmiana=eregi_replace("(http|s://|ftp://|www|http://)+(.+)+([/.]|/)+([a-z]{2,4}|[[:graph:]]{0,})", "[spam]", $text); ?>[/php:1:433b112d4d] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 16:48 |