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

Форум MySQL

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

 

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

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

тема: Замена
 
 автор: Game   (10.11.2005 в 13:55)   письмо автору
 
 

Короче надо сделать что-то типа шаблона.
пишем, к примеру,

<table width=100% border=0><tr>[game]</tr></table>

присутствует таблица замен. Т.е.
id what inwhat
1 [game] $f[game]
$f[game] - это массив. он точно есть.
вот надо сделать так, чтобы была замена [game] на $f[game] и чтобы выводилась именно эта переменная.
мой код такой:

<?
...
$level=$_GET['level'];
echo 
"<table width=100% border=1>";
$c=mysql_query("SELECT * FROM classes WHERE level=$level"); //Находим имя таблицы
$d=mysql_fetch_array($c);


//Теперь html-тип выводим из базы
$e=mysql_query("SELECT * FROM $d[name]");
$f=mysql_fetch_array($e);


$n=mysql_query("SELECT * FROM zamena"); //здесь что надо менять на что
$m=mysql_fetch_array($n);


$g=mysql_query("SELECT * FROM types WHERE type='$d[type]'"); \\ищем html-тип
$k
=mysql_fetch_array($g);


$k[game]=str_replace ("$m[what]""$m[inwhat]"$k[game]); \\сама замена
for ($i=0$i<mysql_num_rows($e); $i++)
{
echo 
"<tr><td>$k[html]</td></tr>";
}
...
?>

вот.
Подскажите, пожалуйста.

   
 
 автор: cheops   (10.11.2005 в 22:23)   письмо автору
 
   для: Game   (10.11.2005 в 13:55)
 

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

   
 
 автор: Game   (11.11.2005 в 19:47)   письмо автору
 
   для: cheops   (10.11.2005 в 22:23)
 

Мне казалось так будет проще.
А не подскажите, как с массивами сделать?

   
 
 автор: cheops   (11.11.2005 в 23:54)   письмо автору
 
   для: Game   (11.11.2005 в 19:47)
 

Хм... ну просто организовать два массива
<?php
  $arr_search 
= array("first""second", ...);
  
$arr_replace = array("первый""второй", ...);
?>

и далее произвести замену при помощи функции str_replace()

  $text = str_replace($arr_search, $arr_replace, $text);

   
 
 автор: Game   (12.11.2005 в 22:50)   письмо автору
 
   для: cheops   (11.11.2005 в 23:54)
 

а как внести данные в массив?

   
 
 автор: Game   (14.11.2005 в 21:04)   письмо автору
 
   для: Game   (12.11.2005 в 22:50)
 

ап

   
 
 автор: cheops   (15.11.2005 в 00:31)   письмо автору
 
   для: Game   (12.11.2005 в 22:50)
 

Данные должны быть статические или динамические? Т.е. планируется ли расширение массива? Самое простое решение, которое приходит в голову - это поместить заменямые строки и строки-заменители в два файла. При чтении файла функцией file() получается массив в котором каждый элемент соответствует отдельной строке файла.
<?php 
  $arr_search 
file("search.txt"); 
  
$arr_replace file("replace.txt"); 
?>

   
Rambler's Top100
вверх

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