[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в рег. выражении
Елена
Вот выражение:
preg_replace("/echo (.*?)'(.*?);/i", "print \\2, ,\\1;", $ster);

Найти: echo $pert'nade; и заменить на: print nade, ,$pert;
Не могу понять почему не работает.
walerus
preg_replace("/echo (.*)\'(.*);/i", "print \\2, ,\\1;", $ster)
результат
print nade, ,$pert;
Елена
Цитата (walerus @ 27.10.2014 - 00:49)
preg_replace("/echo (.*)\'(.*);/i", "print \\2, ,\\1;", $ster)
результат
print nade, ,$pert;

Почему то не работает.
walerus
Давайте всю часть кода, как вы получаете текст, что в переменных и т.д., я выше напиал результат работы скрипта ...
вот мой "тест скрипт"
<?php
$string = "echo \$pert'nade;";
$string = preg_replace("/echo (.*)\'(.*);/i", "print \\2, ,\\1;", $string);

echo "|$string|";
die;
?>
попробуйте
Елена
Цитата (walerus @ 27.10.2014 - 01:11)
Давайте всю часть кода, как вы получаете текст, что в переменных и т.д., я выше напиал результат работы скрипта ...
вот мой "тест скрипт"
<?php
$string = "echo \$pert'nade;";
$string = preg_replace("/echo (.*)\'(.*);/i", "print \\2, ,\\1;", $string);

echo "|$string|";
die;
?>
попробуйте

Извините, была в отъезде. Вот код:

<?php
if (isset($_POST['submit'])) {
$code = $_POST['code'];
$code=str_replace("$", "\$", $code);
$code=str_replace("<?php?>", "", $code);
$code=str_replace("<??>", "", $code);
$code=str_replace("print", "echo", $code);
$code=str_replace("time()", "$_SERVER[’REQUEST_TIME’]", $code);
$code=str_replace("preg_replace", "str_replace", $code);
$code=str_replace("str_replace", "strtr", $code);
$code=str_replace("$i++","++$i",$code);
$code=str_replace("\r","",$code);
$code=preg_replace("/echo(ereg_replace((.*?),(.*?),(.*?)));/i","echo(str_replace(\\1,\\2,\\3));",$code);
$code=preg_replace("/echo (.*?).\'(.*?)\'.(.*?);/i", "echo \\1, ' ', \\2;", $code);
$code=preg_replace("/if(strlen((.*?)) > (.*?))/i", "if(isset(\\1{\\2}))", $code);
$code=preg_replace("/global (.*?);/i", "global \\1; unset($\\1);", $code);
$code=preg_replace("/$(.*?)[(.*?)]/i", "$\\1['\\2'] ", $code);
$code=preg_replace("/array_key_exists(\'(.*?)\', $(.*?))/i", "!isset($\\2['\\1'])", $code);
$code=preg_replace("/$a=(.*?) $(.*?);/i", "$a='\\1 '.$\\2;", $code);
$code=preg_replace("/$a=$(.*?) (.*?);/i", "$a=$\\1.' \\2';", $code);
$code=preg_replace('/eregi(\'(.*?)\',$(.*?))/i', 'preg_match("/\\1/im",$\\2)', $code);
$code=preg_replace("/while (list($(.*?), $(.*?)) = each($(.*?)))/i", "foreach($\\3 as $\\1=>$\\2)", $code);
$code=preg_replace('/substr_compare((.*?),(.*?),(.*?),(.*?))/i', 'strpos(\\1,\\2)===\\3', $code);


echo $code;

}else{
header("Location: http://localhost ");
exit;
}
?>
Быстрый ответ:

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