Парсер тегов НУЖЕН ХЕЛП

Дэн

Постоялец
Регистрация
3 Май 2008
Сообщения
63
Реакции
8
Привет всем, я тут изучаю пхп и у меня тут возникла проблемка, как можно организовать парсер к примеру в одном шаблоне для зарегистрированных и для незарегистрированных с помощью тегов к примеру

[registed]Инфа для залогиненных[/registed]
[not-registed]Инфа для не залогиненных[/not-registed]

и выводилось из одного файла!
У меня вышло сделать только вывод из 2х шаблонов, то есть login.tpl и logged.tpl

примеерно такким образом
PHP:
if ($_SESSION['login'])
{
    выводим logged.tpl;
}
else
{
    выводим login.tpl;
}

Хотелось бы подробной информацции как это организовать в через один файл! За ранее спасибо
 
да как-то так ...
перенесите проверку на то пользователь это или нет внутрь tpl файла

хотя еще под вопросом какой вариант лучше ... ваш или этот
PHP:
код
$isGuns =  isset($_SESSION['login']);
 выводим tpl.tpl;

внутри tpl.tpl
PHP:
if (!$isGuns)
{
    выводим 1 
}
else
{
    выводим 2
}
 
Спасибо но это не то, мне нужен вывод из одного файла(Проверка нужна не внутреннея, так не пойдет, это мне для цмски моей нужно!), я же написал как! Нужно пример класса парсера который будет выводить при условии! Например

if ([reg][/reg])// То есть вывод между тегов если они существуют

это отлично от бб кодов, в бб кодах тупо меняет на <b>!

А мне нужно выводить инфу между тегами только если они существуют, с помощью каких функций это можно осуществить, просто подскажите а с классами я уже сам разберусь! Спасибо заранее
 
PHP:
if (!$logged) 
  $tpl = preg_replace('#\[logged\].*?\[/logged\]#ims','',$tpl);
Заменяем все, что между [logged] и [/logged] на пустую строку.
 
А не лучше использовать Smarty для таких целей ?
В дальнейшем могут возникнуть более сложные вопросы как внедрить аналог php кода в шаблон. В Smarty всё это уже реализовано.
 
Ну так а зачем тогда учится? я хочу научться хорошо программировать а не на продажу что - то делать, пока до продаж далеко) Я уже нашел решение этой проблемы, реализовал через классы и регулярные выражения, всем спасибо за участие! ;)
 
Назад
Сверху