Вытащить пару переменных

Статус
В этой теме нельзя размещать новые ответы.

Ramazan

пыщ-пыщ
Регистрация
28 Янв 2007
Сообщения
470
Реакции
101
Имеем переменную $str, которая может быть в двух вариантах
PHP:
$str = 'func1(path/to/file.php)';
#$str = 'func2(name)->vat->var2';

хотел сделать, но сонным не соображаю, да и на свежую голову вряд-ли соображу

нужно сделать, что-то вроде этого
PHP:
if(preg_match('#^(func1|func2)\(([a-z]+/?)+\)$#i', $str))
{
	$str = preg_replace('#^(func1|func2)\(([a-z]+/?)+\)$#ie', '\\1(\'\\2\')\\3', $str);
}
 
Опишите словами, что вы хотите получить от вложенной маски?
 
Регулярку не могу составить.

нужно $str, заменить результатом выполнения функции \\1, с параметром \\2, и если func2, то подставлялись переменные объекта \\3
 
вы пытаетесь строку привести к первоначальному виду?
попробуйте воспользоватся следующей регуляркой
PHP:
$reg = '#(func1|func2)\(([^)]+)\)(.*)#i';
 
всё, с утра сам разобрался :)

если кому нужно будет
PHP:
#(func1|func2)\(((?:[a-z]+)|(?:[a-z\.]+/?)+)\)([a-z_0-9\-\>]+)?#i
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху