[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Preg_replace и массив
Preshka
К сожалению не работает этот кусок, выдаёт ошибку:Warning: preg_replace(): Unknown modifier 'f'

$pregper1[0] = "/echo = '(.*?)<form(.*?)>(.*?)</form>/";
$replaceper1[0] = '/?>$1<form$2>$3</form>/';
$pregper1[1] = "/'.(.*?).'/";
$replaceper1[1] = '/<?=|$|(.*?);?>/';
$pregper1[1] = "/no/";
$replaceper1[1] = '/yes/';
$pregper1[2] = "/'.(.*?).'";
$replaceper1[2] = '/<?=|$|(.*?);?>/';
$pregper1[3] = "/'.(.*?).'";
$replaceper1[3] = '/<?=|$|(.*?);?>/';
$text = preg_replace ($pregper1, $replaceper1, $text);
volter9
Цитата (Preshka @ 18.01.2015 - 19:05)
$pregper1[0] = "/echo = '(.*?)<form(.*?)>(.*?)</form>/";
$replaceper1[0] = '/?>$1<form$2>$3</form>/';
$pregper1[1] = "/'.(.*?).'/";
$replaceper1[1] = '/<?=|$|(.*?);?>/';
$pregper1[1] = "/no/";
$replaceper1[1] = '/yes/';
$pregper1[2] = "/'.(.*?).'";
$replaceper1[2] = '/<?=|$|(.*?);?>/';
$pregper1[3] = "/'.(.*?).'";
$replaceper1[3] = '/<?=|$|(.*?);?>/';
$text = preg_replace ($pregper1, $replaceper1, $text);


Preshka
Ну, во первых, надо экранировать слэши в регулярном выражение,
во вторых, в массиве $replaceper1 не должны содержатся слэши в начале и в конце, т.к. это не регулярное выражение.

Вот так код работает:

$text = '';

$pregper1[0] = "/echo = '(.*?)<form(.*?)>(.*?)<\/form>/";
$pregper1[1] = "/'.(.*?).'/";
$pregper1[2] = "/no/";
$pregper1[3] = "/'.(.*?).'/";
$pregper1[4] = "/'.(.*?).'/";

$replaceper1[0] = '?>$1<form$2>$3<\/form>';
$replaceper1[1] = '<?=|$|(.*?);?>';
$replaceper1[2] = 'yes';
$replaceper1[3] = '<?=|$|(.*?);?>';
$replaceper1[4] = '<?=|$|(.*?);?>';

$text = preg_replace ($pregper1, $replaceper1, $text);


А так еще лучше
$text = '';

$pregper1 = array (
"/echo = '(.*?)<form(.*?)>(.*?)<\/form>/",
"/'.(.*?).'/",
"/no/",
"/'.(.*?).'/"
);

$replaceper1 = array (
'?>$1<form$2>$3<\/form>',
'<?=|$|(.*?);?>',
'yes',
'<?=|$|(.*?);?>'
);

$text = preg_replace ($pregper1, $replaceper1, $text);


_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.