![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że jest o tym sporo postów na forum i dużo opisanych funkcji w manualu. Jednak nie mogę skumać jak zrobić następującą rzecz:
Wpisuje sobie tekst w textarea. Po uruchomieniu formularza chciałbym, aby cały wpisany tekst był sprawdzony, czy nie występują w nim jakieś wyrazy (np. przekleństwa lub inne niedozwolone). Te niedozwolone najchetniej trzymałby w osobnym pliku np.: forb.txt (w formie: wyraz1|wyraz2|wyraz3|wyraz4|..... itd). Jak sprawdzić czy w zmiennej z tekstem textarea jest ktorys z tych wyrazów (jesi jest zwracam komentarz)? Czy mozna np.: te wyrazy z pliku txt wrzucic w tablice, a tekst z textarea tez podzielic na wyrazy i stworzyc tablice. A Pozniej tylko porównac te dwie tablice (tylko jak to zrobić? ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Najprostsza wersja
![]() [php:1:06331e0f09]<?php $przeklenstwa=explode("|",implode("",file("przeklenstwa.txt"))); $tekst=explode(" ",$tekst); foreach($tekst as $k=>$wyraz) { if(in_array($wyraz,$przeklenstwa)) { $tekst[$k]="[---]"; } } $tekst=implode(" ",$tekst); echo $tekst; ?>[/php:1:06331e0f09] to jest pisane z palca, wiec może nie działać - ale powinieneś mniej więcej wiedzieć jak to może wyglądać. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki wielkie za podpowiedz (wumie to za gotowca
![]() Mam z tym jeszcze jeden problem: Kod ooo [cenzura] mac ja przekleństwo1
to jest przekleństwo2 sprawa ojojo przekleństwo3 jak nic to jest wielka przekleństwo4. ja wam mowie mianowicie: -jesli przeklenstwo jest na koncu linijki (i nie ma po nim spacji), jesli spacja po wyrazie jest podwójna, lub jesli wyraz jest na poczatku linii, jesli od razu po przeklenstwie jest kropka - nie zostaja one zastapione wyrazem [cenzura] (mowie tu o przekleństwo1, przekleństwo2, przekleństwo3, przekleństwo4). Czy moznaby z tym jakoś zawalczyć?Jak mniemam jest to uzaleznione od funkcji explode... ale co zmienić żeby było lepiej? ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hmm.. tutaj musiałbyś zastosować wyrażenia regularne - ale z tym to ja nie pomoge już.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!!
Może coś takiego: Kod brzydkie|słowo|aaa|bbb
[php:1:93b367cf0f]<?php $text = 'w tym texcie jest aaasdfbbb bardzo 23brzydkie45 _słowo_'; $slowa = explode('|', str_replace(array("n", "r"), array("|",""), file_get_contents($plik))); $empty = array(); for($i = 0; $i < count($slowa); $i++){ $empty[] = '[cenzura]'; } $text = str_replace($slowa, $empty, $text); ?>[/php:1:93b367cf0f] Chyba, że nie o to chodziło. [manual:93b367cf0f]file_get_contents[/manual:93b367cf0f] -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:04 |