PHP preg_grep — & gt; поисковый массив, в котором поисковый термин содержит специальный символ

Попытка найти массив, содержащий специальные символы:

$array=array("0|0Name"=>"first name","0|1last"=>"last name","1|0email"=>"email address");

пытался

  $v="0|0";
print_r(preg_grep("/^".$v.".*/",$array)); --->FAIL

пытался:

  $v=str_replace("|","\|","0|0");
print_r(preg_grep("/^".$v.".*/",$array)); --->FAIL

0

Решение

использование preg_quote(), он будет экранировать специальные символы, принимая во внимание разделитель (в вашем случае, /):

$v = preg_quote("0|0", "/");
print_r(preg_grep("/^".$v.".*/",$array));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]