preg_replace_callback застрял - PullRequest
       1

preg_replace_callback застрял

1 голос
/ 02 августа 2010

У меня есть массив URL, которые я запускаю через включенную функцию preg_replace_callback, идея в том, что каждый цикл даст новый результат.

Проблема в том, что он продолжает выводить только первый результат, как если бы он останавливался после обработки первого URL.

Вот код:

if (!function_exists('name')) {
function name($match)
{
return($match[1]);
}
$foo = preg_replace_callback("#[regex]#", "name", $bar);
}

Есть идеи, как мне заставить это работать должным образом? Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Вы также можете использовать библиотеку T-Regx :

pattern('[regex]')->replace($bar)->callback('name');
0 голосов
/ 02 августа 2010

Если вы применяете функцию preg_replace_callback() ко всем элементам в массиве, вы можете захотеть сделать это:

// put this on the top of the file
function name($match) {
    return($match[1]);
}

Затем, чтобы перебрать элементы массива:

foreach ($array as $value) {
    $foo = preg_replace_callback("#[regex]#", "name", $value);
    // do stuff with $foo
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...