Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP - Поиск и замена части элементов массива

32K
02 января 2008 года
stupid-man
4 / / 02.01.2008
Исходное:
Есть массив. Каждый элемент - строка текста.
Есть второй массив. Каждый элемент - "плохое" слово.

Задача:
Удалить из первого массива все строки в которых содержатся "плохие" слова из второго массива. Вывести очищенный массив в браузер в формате "каждый элемент "чистого" массива с новой строки".

Вопрос:
Как?

И ещё один вопросик. Возможно ли средствами PHP создавать поддомены третьего уровня?
22K
07 января 2008 года
SMiX
18 / / 23.05.2007
Код:
<?

$good = Array(
"fwa gaw gaw",
"gwagwa gwagwa gaw",
"gwagaw gwa gwa",
"gwagaw gwa g",
"gwagaw www g",
"www"
);
$bad = Array(
"gwa",
"www"
);
foreach($good as $k => &$v)
{
    foreach($bad as &$vv)
    {
        if(strpos($v,' '.$vv)!==false || strpos($v,$vv.' ') || $v===$vv)
        {
            unset($good[$k]);
            break;
        }
    }  

}
print_r($good);





?>
22K
07 января 2008 года
SMiX
18 / / 23.05.2007
Цитата:
И ещё один вопросик. Возможно ли средствами PHP создавать поддомены третьего уровня?


Можно. Дописывать в httpd.conf, Дописывать в файл, который инклудится в httpd.conf посредством директивы Include, или следующий вариант:
добавить ServerAlias *.domain, в доменных записях создать запись * IN A ip_адрес и посредством .htaccess обрабатывать поддомены.

32K
07 января 2008 года
stupid-man
4 / / 02.01.2008
Всем спасибо. Использую следующий вариант, предложенный одним хорошим человеком:
Код:
<?
$filename="file.txt"; //файл со строками
$lines=file($filename);
$bad="badwords.txt"; //плохие слова
$badwords=file($bad);
foreach ($badwords as $k => $v) {
$badwords[$k] = trim($v);
}
$badwords = array_flip($badwords);
foreach ($lines as $v) {
$s = trim(preg_replace('/([^a-zA-Zа-яА-Я]{1,})/',' ',$v));
$s = array_flip(explode(' ',$s));
$is_ok = true;
foreach ($s as $k => $fix) {
if (isset($badwords[$k])) {
$is_ok = false;
break;
}
}
if ($is_ok) {
echo $v.'<br>';
}
}
?>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог