# Udesign (01.09.2016 / 14:09)
спасибо все работает как ты сказал
написал жерез http:// бан сработала
Я пока написал ответ, ты меня опередил )
ДоХтор, а если сделаю так
public static function antirek($str)
{
$replace = array(
'sayt.ru' => '',
'sayt.uz' => ''
);
return strtr($str, $replace);
}
и так проверять
$foo = functions::antirek($_POST['text']);
if (!empty($foo)) {
$error[] = 'BAN';
}
это правильно
или так
public static function antirek($str)
{
$kod = array(
'sayt.ru', 'sayt.uz'
);
foreach ($kod as $word) {
$str = preg_replace("/".$word."/iu", "", $str);
$result = strip_tags($str);
}
return $result;
}
и проверку
# Udesign (01.09.2016 / 14:18)
ДоХтор, а если сделаю так
public static function antirek($str)
{
$replace = array(
'sayt.ru' => '',
'sayt.uz' => ''
);
return strtr($s
Да, можно и так. Но при таком подходе у тебя не будет универсальности, и тебе придётся вручную наполнять массив $replace[] запрещёнными ссылками.
Udesign, Использовать цикл не нужно, preg_replace() умеет работать и с массивами.
# ДоХтор (01.09.2016 / 14:31)
Udesign, Использовать цикл не нужно, preg_replace() умеет работать и с массивами.
как вот так что ли
public static function antirek($str)
{
$kod = array(
'sayt.ru', 'sayt.uz'
);
$str = preg_replace("/".$kod."/iu", "", $str);
$result = strip_tags($str);
return $result;
}
Udesign, так работать не будет
надо как то так
array('|abc|iu', '|def|iu')
# Udesign (01.09.2016 / 14:35)
как вот так что ли
public static function antirek($str)
{
$kod = array(
'sayt.ru', 'sayt.uz'
);
$str = preg_replace("/".$kod."/iu", "", $str);
$result = strip_tags($str);
ret
Нет, надо хотя бы так
function antirek($str) {
$pattern = [
'~sayt\.ru~iu',
'~sayt\.uz~iu'
];
return preg_replace($pattern, '', $str);
}
ДоХтор, в одинарных можно не экранировать
# Koenig (01.09.2016 / 15:06)
ДоХтор, в одинарных можно не экранировать
Почему? Внутри шаблона же точка будет означать любой символ.