Добрый день!
Столкнулся с проблемой при написании регулярных выражений.
есть переменная
$pattern="";
В процессе запроса она получает данные, например
http://sait.com http://sait1.com или http://sait2.com/index.php?dhdhdh
И есть переменная
$sait
которая содержит список из 20 сайтов
$sait="http//sait4.comhttp:sait3.comhttp://sait2.com/index.php?dhdhdh..."
Переменную $pattern мне нужно использовать как шаблон регулярного выражения, дабы проверить есть ли в переменной $sait
данные совпадающие с данными переменной $pattern.
делаю так
<?
$pattern=addslashes($pattern);
if (preg_match("$pattern",$sait))
{
echo Ok;
}
?>
Мне выбивает ошибку
Warning: preg_match() [function.preg-match]: Unknown modifier '/'
Я так понял что данные в переменной шаблона не экранируются
Подскажите пожалуйста как побороть проблему?
Читаем http://www.php.net/ до просветления.
> Читаем http://www.php.net/ до просветления.Спасибо за ёмкий ответ, но хотелось бы конкретики.
Все разобрался.
У меня в переменной выражение заключалось в слэши
/http://./
Я заменил крайние слэши на ~ только уже не в переменной а в функцииpreg_match("~$pattern~",$prim)
И заработало!