В настоящее время я реализую функцию замены в методе рендеринга страницы, которая заменяет часто используемые строки - например, заменяет [cfe] на корень клиентского интерфейса. Это связано с тем, что значение может отличаться в зависимости от версии сайта - например, корнем для папки с изображениями ([imagepath]) является / Images в процессе разработки и в реальном времени, но / Test / Images в тесте.
У меня есть каталог продуктов, для которого я хотел бы изменить [productName] на ссылку на страницу каталога для этого продукта. Я хотел бы просмотреть всю страницу и заменить все экземпляры [someValue] соответствующей ссылкой. В настоящее время я делаю это, просматривая все продукты в базе данных продуктов и заменяя [productName] ссылкой на страницу каталога для этого продукта. Однако это ограничено продуктами, которые существуют в базе данных. «Ссылки» на продукты, которые были удалены в настоящее время, заменены не будут, поэтому пользователю будет отображаться [someValue]. Это не выглядит хорошо.
Так что вы должны увидеть мою проблему из этого. Кто-нибудь знает способ достичь того, что я хотел бы легко? Я мог бы использовать регулярные выражения, но у меня не так много опыта. Если это самый простой способ, с использованием «Для каждого совпадения в виде строки в регулярном выражении. Бла, бла»), то я хочу изучить это подробнее.
Однако в какой-то момент я хотел бы пойти дальше - например, настроить макеты страниц, такие как 3 столбца с верхним правым изображением, используя [layout type = "3colImageTopRight" imageURL = "imageURL"] Содержимое здесь [/ layout]. Я думаю, что мог бы сделать это сейчас, но я не могу понять, как с этим справиться, если бы imageURL был, скажем, [Image: Product01.gif] (используя regex.match ("[[a-zA-Z] { 0,}] ") Я думаю, что будет соответствовать просто [layout type =" 3colImageTopRight "imageURL =" [Image: Product01.gif] (это не дойдет до конца тега макета). Очевидно, что вышеупомянутое не вполне работает, так как Я не включил двойные кавычки в строку совпадения или что-то в этом роде, но вы поймете общую идею. Вы должны быть в состоянии получить общее представление о том, к чему я клоню и что я пытаюсь сделать.
Есть ли у кого-нибудь идеи или указатели, которые могли бы помочь мне в этом? Также, если это не совсем замена токена, пожалуйста, укажите мне, что это такое, чтобы я мог дальше развивать это.
Аристос - надеюсь, что повторное объяснение разрешит путаницу.
Заранее спасибо,
С уважением,
Ричард Кларк