Şu anda dinamik web içeriği filtrelemek için çözüm arıyorum. Tarafından "dinamik" Ben kötü söz, yani shit, f**k, vb ilk sayfadaki tüm kelimelerin üzerinde yüzdesini hesaplamak istiyorsunuz demek. Yüzdesi en fazla 30%, web sitesi izin verilir ki. Nasıl bu kadar zaman ben yüzdesi elde etmek mümkün olacaktır ilk sayfadaki her kelimeyi aramak ve daha sonra sözcüklerin toplam sayısına göre bölmek kötü kelimeler listesi ile onları maç yapabilirim? Mantığı bir içerik filtresi yapmak için ama sadece gerektiği sayfasında bile tek bir kelime kötü kelimeler listesi ile eşleşen web engellemek değildir. Ben bu olsa var, ama bu statik değildir.
$filename = "filters.txt";
$fp = @fopen($filename, 'r');
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
foreach($array as $key => $val){
list($before,$after) = split("~",$val);
$input = preg_replace($before,$after,$input);
}
}
* filter.txt kötü kelimelerin listesini içerir
Thanx Erisco!
Bu denedim ama Thou çalışmak için görünmüyor.
function get_content($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}
/* $toLoad is from Browse.php */
$sourceOfWebpage = get_content($toLoad);
$textOfWebpage = strip_tags($sourceOfWebpage);
/* array: Obtained by your filter.txt file */
// Open the filters file and filter all of the results.
$filename = "filters.txt";
$badWords = @fopen($filename, 'r');
if ($badWords) {
$array = explode("\n", fread($fp, filesize($filename)));
foreach($array as $key => $val){
list($before,$after) = split("~",$val);
$input = preg_replace($before,$after,$input);
}
}
/* float: Some decimal value */
$allowedBadWordsPercent = 0.30;
$numberOfWords = str_word_count($textOfWebpage);
$numberOfBadWords = 0;
str_ireplace($badWords, '', $sourceOfWebpage, $numberOfBadWords);
if ($numberOfBadWords != 0) {
$badWordsPercent = $numberOfWords / $numberOfBadWords;
} else {
$badWordsPercent = 0;
}
if ($badWordsPercent > $allowedBadWordsPercent) {
echo 'This is a naughty webpage';
}