![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Gdzieś w internecie znalazłem bardzo prosty parser.
[php:1:6a97ad5b05]<? class template { var $unparsed = array(0 => ""); var $parsed = ""; var $blocks = array("default" => ""); function load($plik) { $this -> unparsed = @file("templates/".$plik.".tpl"); } function parse() { $this -> parsed = ""; $cnt = count($this -> unparsed); for($i = 0; $i <= $cnt; $i++) { $tekst = $this -> unparsed[$i]; $found = array(); if(preg_match_all("#{(.+?)}#is", $tekst, $found)) { foreach($found[0] as $block) { $block = str_replace("{", "", $block); $block = str_replace("}", "", $block); $tekst = str_replace("{".$block."}", $this -> blocks[$block], $tekst); } } $this -> parsed .= $tekst; } } } ?>[/php:1:6a97ad5b05] Wszystko działa dobrze na necie, możecie zobaczyć http://www.portal.p2.pl. Problem jest na serwerze wirtualnym Xitami. Skrypt działa poprawnie, ale ni stąd, ni z owąd, nad każdym z napisów wyskakuje "Warning: Undefined offset: 6 in E:PROGRAMYXITAMIwebpagesnewincludestemplate.php on line 19". Co mam o tym myśleć? -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
a co dajesz do właściwości blocks?
Chodzi mi o $template->blocks = array( o_to ); |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:28f75e9068]<?php
// [...] for($i = 0; $i < $cnt; $i++) { // [...] } ?>[/php:1:28f75e9068] Tak powinno być dobrze... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki very much Kameleon. Działa już dobrze
![]() A teraz druga sprawa: Czy ktoś z Was potrafiłby rozbudować ten skrypt, żeby wyświetlał wartości jakiejś tablicy, tak jak w phpBB? Czyli, że podaje się tylko raz kod HTML w odpowiednich znacznikach, a on wyświetla się tyle razy, ile pól ma tablica. Byłbym dźwięczny ![]() -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]()
Post
#5
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Na tej samej stronie z której masz ten kod jest równierz bardziej rozbudowany parser, tego samego autora, który ma if'y, sekcje, subsekcje i inne zabawki.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... Czy myślimy o tej samej stronie i tym samym artykule? http://webcity.pl/artykuly.php/t/5? Jeśli tak, to ja tam za Chiny nie mogę znaleźć tego, o czym piszesz
![]() ![]() -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:57 |