PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (16): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Найдено сообщений: 229
Зверь
Отправлено: 19 Февраля, 2012 - 13:05:37 • Тема: неработает • Форум: Прочее
Ответов: 12 Просмотров: 78
Это шаблонизатор какой-то? это явно не php в чистом виде
P/S И да, ответить на ваш вопрос нельзя
Зверь
Отправлено: 18 Февраля, 2012 - 16:26:42 • Тема: форум phpbb • Форум: Вопросы новичков
Ответов: 14 Просмотров: 384
Я не про хостинг спрашиваю, какая разница какой хостиг, я спрашиваю сайт на чем сделан, какая cms?
А тут и пояснять нечего, называть всех подряд школотой может только школота
Если ты не понимаешь банального сарказма это твои проблемы. За сим откланюсь, ибо бред, продолжать который я не желаю.
Зверь
Отправлено: 18 Февраля, 2012 - 15:42:48 • Тема: Фильмы на сервер • Форум: Программирование на PHP
Ответов: 16 Просмотров: 1370
sKaa пишет: Отлавливай ссылку на файл чем нить типо video download helper (ff) и вставляй ссылку в свой плеер.
Насчет видео не знаю(скорее все так и есть), но у аудио записей ссылки динамические и при каждом прослушивании меняются. И вообще вроде только для зарегистрированных
Зверь
Отправлено: 18 Февраля, 2012 - 14:56:48 • Тема: форум phpbb • Форум: Вопросы новичков
Ответов: 14 Просмотров: 384
Simi000 пишет: как можно связать свой сайт с созданным форумом на денвере
Для начала стоит сказать на чем стоит сайт, самопис или cms какая
zypikov пишет: Школота, че хочешь..
Аналогичный вопрос могу задать тебе
Зверь
Отправлено: 16 Февраля, 2012 - 11:54:47 • Тема: str_replace • Форум: Вопросы новичков
Ответов: 13 Просмотров: 503
Я использую вот такой шаблонизатор, довольно удобный
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
class Template {
public
$dir = '' , # Дирректория для шаблонов
$result = array ( ) , # Данные компиляции шаблонов $data = array ( ) , # Данные для замены переменных $data_block = array ( ) , # Данные для замены блоков $source = array ( ) , # Исходные коды шаблонов $delete_tags = true , # Удалять неидентифицированные переменные из шаблона?
$tag_start_delim = "{" , # Открывающий тэг переменной {tagname}
$tag_end_delim = "}" , # Закрывающий тэг переменной {tagname}
$block_start_delim_1 = "[" , # Открывающий тэг открывающего блока [blockname]
$block_end_delim_1 = "]" , # Закрывающий тэг открывающего блока [blockname]
$block_start_delim_2 = "[/" , # Открывающий тэг закрывающего блока [/blockname]
$block_end_delim_2 = "]" ; # Закрывающий тэг закрывающего блока [/blockname]
public function __construct( $dir ) {
$this -> dir = $dir ;
} else {
$this -> trigger_error ( 'class dirrectory ' . $dir . ' not found' ) ;
}
}
# Загрузка шаблона
public function open( $template , $name ) {
if ( is_file ( $this -> dir . '/' . $template ) ) {
if ( ! isset ( $this -> data [ "$name " ] ) ) $this -> data [ "$name " ] = array ( ) ; if ( ! isset ( $this -> data_block [ "$name " ] ) ) $this -> data_block [ "$name " ] = array ( ) ; } else {
$this -> trigger_error ( 'open template ' . $template . ' not found' ) ;
$this -> source [ "$name " ] = '' ;
}
}
# Установка переменной. Если переменная не указана, то она вырезается из шаблона при компиляции
public function set( $name = '' , $value = '' , $template = '' ) {
if ( $name && $template ) {
$this -> data [ "$template " ] [ "$name " ] = $value ;
}
}
# Задание блока в указанном шаблоне
public function set_block( $name , $value , $template ) {
$this -> data_block [ "$template " ] [ "$name " ] = $value ;
}
# Очистка значений для указанного шаблона
public function clear( $template ) {
$this -> data [ "$template " ] = array ( ) ; $this -> data_block [ "$template " ] = array ( ) ; }
# Компиляция шаблона
public function compile( $template , $return = true ) {
if ( isset ( $this -> source [ "$template " ] ) ) {
$replace = isset ( $this -> data [ "$template " ] ) ?
$this -> data [ "$template " ] : array ( ) ; $block_replace = isset ( $this -> data_block [ "$template " ] ) ?
$this -> data_block [ "$template " ] : array ( ) ;
$result = $this -> source [ "$template " ] ;
$result = preg_replace ( '|' . preg_quote ( $this -> block_start_delim_1 ) . '(.*?)' . preg_quote ( $this -> block_end_delim_1 ) . '(.*?)' . preg_quote ( $this -> block_start_delim_2 ) . '\\1' . preg_quote ( $this -> block_end_delim_2 ) . '|se' , "isset(\$ block_replace['\\ 1']) ? ((\$ block_replace['\\ 1']) ? \$ block_replace['\\ 1'] : '\\ 2') : ''" , $result ) ; $result = preg_replace ( '|' . preg_quote ( $this -> tag_start_delim ) . '(.*?)' . preg_quote ( $this -> tag_end_delim ) . '|se' , $var = "isset(\$ replace['\\ 1']) ? \$ replace['\\ 1'] : (\$ this->delete_tags ? '' : '\{\\ 1\}')" , $result ) ;
$this -> result [ "$template " ] = $result ;
$this -> clear ( $template ) ;
if ( $return ) {
return ( $result ) ;
}
} else {
$this -> trigger_error ( 'compile template ' . $template . ' not open' ) ;
$this -> result [ "$template " ] = false ;
if ( $return ) {
return false ;
}
}
}
# Вывод ошибок
public function trigger_error ( $error_msg , $error_type = E_USER_ERROR ) { }
}
?>
Пример использования
PHP:
скопировать код в буфер обмена
$template = new Template( "path/to/templatefolder/" ) ; # открытие директории с шаблонами
$template -> open ( 'main.tpl' , 'main' ) ; # открытие самого шаблона и присваивание ему имени
$template -> set_block ( 'admin' , '' , 'main' ) ; # создание блока, типа [admin][/admin] для открытого шаблона main. Второй параметр - то, что будет в блоке по умолчанию
$template -> set ( 'content' , "Тут то, на что заменится {content}" , 'main' ) ; # Создание переменной {content} для шаблона main
echo $template -> compile ( 'main' ) ; # компиляция и вывод main
Кстати, неопределенные блоки и переменные вырезаются из шаблона при компиляции
Страниц (16): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB