Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Template (Шаблоны)
 
 автор: Ozxar   (07.08.2005 в 14:50)   письмо автору
 
 

Помогите разобраться с классом
почемуто при парсере {name} {name2} не заменяються на текст

   
 
 автор: cheops   (07.08.2005 в 17:19)   письмо автору
 
   для: Ozxar   (07.08.2005 в 14:50)
 

Какой-то запутанный пример, если они не заменяются на текст, значит они должны оставаться без изменений - почему их нет в конечном выводе? Может они просто не выводятся?

   
 
 автор: Ozxar   (07.08.2005 в 18:50)   письмо автору
 
   для: cheops   (07.08.2005 в 17:19)
 

я просто незнаю что делать уже все перепробывал

   
 
 автор: Ozxar   (07.08.2005 в 21:20)   письмо автору
 
   для: Ozxar   (07.08.2005 в 18:50)
 

что вы скажете по этому поводу

   
 
 автор: isset   (07.08.2005 в 21:34)   письмо автору
 
   для: Ozxar   (07.08.2005 в 21:20)
 

пока вижу две возможных проблемы
Главная:
$tpl ->whiles("book", "add", "$ink");

вместо массива $ink передается просто слово "Array", надо:

$tpl ->whiles("book", "add", $ink);


вторая:
VAR $opening_escape =' {';
VAR $closing_escape =' }' ;
перед *_escape стоит пробел, может быть:
VAR $opening_escape ='{';
VAR $closing_escape ='}' ;
?

   
 
 автор: Ozxar   (07.08.2005 в 23:57)   письмо автору
 
   для: isset   (07.08.2005 в 21:34)
 

Первую проблемму исправил... но теперь проблемма в цикле

<?
for ($r=0$r<count($ink); $r++) {

foreach (
$ink[$r] as $k => $v){


$new_row=str_replace($this->opening_escape.$k.$this->closing_escape,$v$new_row);
}
$complete_table .= $new_row;

?>


он выводит ss 2222ss 2222
вместо ss 2222sds 1111
$ink[] = array('name'=>"ss", 'name2'=>"2222");
$ink[] = array('name'=>"sds",'name2'=>"1111");

   
 
 автор: Ozxar   (09.08.2005 в 16:26)   письмо автору
 
   для: Ozxar   (07.08.2005 в 23:57)
 

Может кто нибудь подскажет??

   
 
 автор: isset   (10.08.2005 в 03:04)   письмо автору
 
   для: Ozxar   (09.08.2005 в 16:26)
 

А что вы хотели от скрипта?
foreach ($ink[$r] as $k => $v){
$new_row=str_replace($this->opening_escape.$k.$this->closing_escape,$v, $new_row);
}

когда $r = 0 заменяются {name} и {name2} на соответствующие значения, поэтому во второй раз, когда $r = 1, str_replace-у уже нечего заменять

   
 
 автор: ozxar   (10.08.2005 в 11:06)   письмо автору
 
   для: isset   (10.08.2005 в 03:04)
 

А как это мона испрвавить

   
 
 автор: Ozxar   (10.08.2005 в 14:26)   письмо автору
 
   для: ozxar   (10.08.2005 в 11:06)
 

А все понял... спасибо =))

   
 
 автор: kxu   (01.03.2006 в 17:47)   письмо автору
 
   для: isset   (07.08.2005 в 21:34)
 

У меня такая же проблема, ну я имею ввиду первую, вместо массива выводиться слово array.... как устранить....подскажи!!!

   
 
 автор: cheops   (01.03.2006 в 22:38)   письмо автору
 
   для: kxu   (01.03.2006 в 17:47)
 

Массив целиком можно вывести при помощи функции print_r()

PS Под новые вопросы лучше заводить новые темы.

   
 
 автор: kxu   (02.03.2006 в 10:41)   письмо автору
 
   для: cheops   (01.03.2006 в 22:38)
 

ну таким способом все выводиться как надо, но никак извлеч не могу из массива для обработки, накак не взять $c[2] элементы массива, выводит букву r слова array

   
 
 автор: cheops   (02.03.2006 в 12:51)   письмо автору
 
   для: kxu   (02.03.2006 в 10:41)
 

Приведите код, которым пользуетесь для вывода, откуда берётся $c и не могла туда строка Array попасть?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования