Forum Webscript.Ru
Программирование => Perl => Тема начата: C++ от 10 Апреля 2003, 10:35:38
-
Есть текст, в котором я ищу подстроки (их много), есть список. Как наиболее быстро, заменить найденные подстроки на определенные элементы из списка, элементы определяются в зависимости от вида найденной подстроки.
Сам шаблон:m||
То что будет находится между :type=TYPE1¶m=1¶m=2¶m=3
type - один из двух списков,params - значение в списке.
Заранее благодарю!
-
Ээээ....а для тупых пример можно?
-
Не очень корректно вопрос поставил.....
Есть HTML, в нем содержится что-то на подобие SSI вставок.
Мне необходимо найти эти вставки, разобрать их содержимое и заменить на данные из списка, в зависимости от параметров.
Дело в том, что этих вставок может быть очень много + элементы списка не должны повторяться в HTML (после замены).
Например
и т.д.
type - номер списка (1 или 2)
param1 - значение элемента[i][0]
param2 - значение элемента[i][1]
Вот в зависимости от значений param1 и param2 нужно в списке выбрать элемент (не вставленный выше в HTML)
-
если я правильно понял, количество param-ов фиксировано (а именно, их три - type, param и param1) для каждой вставки..
тогда что-то вроде
$c =~ s//Func($1,$2,$3)/ge;
ну а в функции Func определяется код вставки в зависимости от параметров..
-
если я правильно понял, количество param-ов фиксировано (а именно, их три - type, param и param1) для каждой вставки..
Нет, количество параметров не фиксировано, их может быть от одного, до 6....
-
C++
тогда лучше так:
$c =~ s//Func($1,$2)/ge;
в функцию func таким образом передадутся номер type (т.е 1 или 2) и переменная-список $p="param=1¶m=2¶m=5..."
@params = split /&/, $p;
всё, есть список нужных параметров в виде
@params=("param=1", "param=2", "param=5")..