<?
$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);
?>
PHP - Поиск и замена части элементов массива
Есть массив. Каждый элемент - строка текста.
Есть второй массив. Каждый элемент - "плохое" слово.
Задача:
Удалить из первого массива все строки в которых содержатся "плохие" слова из второго массива. Вывести очищенный массив в браузер в формате "каждый элемент "чистого" массива с новой строки".
Вопрос:
Как?
И ещё один вопросик. Возможно ли средствами PHP создавать поддомены третьего уровня?
Цитата:
И ещё один вопросик. Возможно ли средствами PHP создавать поддомены третьего уровня?
Можно. Дописывать в httpd.conf, Дописывать в файл, который инклудится в httpd.conf посредством директивы Include, или следующий вариант:
добавить ServerAlias *.domain, в доменных записях создать запись * IN A ip_адрес и посредством .htaccess обрабатывать поддомены.
Код:
<?
$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>';
}
}
?>
$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>';
}
}
?>