Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Замена данных в HTML


Автор: Agares 8.3.2008, 22:13
У меня есть HTML файл примерно такого содержания:
Код

<html>
<head>
...
</head>
<body>
{$user}
</body>
</html>


как сделать что бы PHP заменил в HTML файле строчку {$user} на Василий smile ?

Автор: Feldmarschall 8.3.2008, 22:29
Не в файле, наверное? В файле-то не нужно, наскольк я могу судить

Автор: Agares 8.3.2008, 22:38
да. не правильно выразился. т.е. нужно вывести содержимое ХТМЛ файл, заменив {$user} на Васю

Автор: Feldmarschall 8.3.2008, 22:40
а в чем проблема конкретно - в том, чтобы прочитать, чтобы заменить или чтобы вывести?

Автор: Agares 8.3.2008, 22:43
да. как это вообще деалется.

Автор: Feldmarschall 8.3.2008, 22:45
Хм. Если ты не знаешь, как это делается, то зачем ставишь себе именно такую задачцу?
Не расскажешь поподробнее, для чего это тебе понадобилось?

Автор: Agares 8.3.2008, 22:47
Я хочу, что бы можно было использовать скины написаные на HTML.

Добавлено через 35 секунд
Я пишу чат, а мой друг разрабатывает для него дизайн на HTML.

Автор: Feldmarschall 8.3.2008, 23:56
гм.
и занимаясь написанием чата, ты до сих пор не узнал, как читать файл?
а какие же ты операции уже освоил?

Автор: Agares 9.3.2008, 01:58
smile Похоже я понял как это нужно делать ))
Наверно, нужно просто прочитать файл, функцией ereg_replace заменяем {$user} на Васю и просто выводим, к примеру функцией echo.

Прокатит?

Добавлено через 2 минуты и 45 секунд
я просто с файлами мало работал...

Автор: Feldmarschall 9.3.2008, 02:08
Ну разумеется.
А с файлами че там работать? file_get_contents() - вот тебе и вся работа с файлами.

Автор: awers 9.3.2008, 06:29
Код

$user = 'hello';
$file = file_get_contents('file.html');
$data = str_replace('{$user}',$user,$file);


как вариант

Автор: skyboy 9.3.2008, 09:22
причем,. учитывая, что нужды вполне могут превышать одну переменную "$user", замечу, что http://php.net/str_replace/http://php.net/str_ireplace позволяют работать с массивами в качестве заменяемой и заменяющей строк:
Код

$html= '
<html>
<body>
<div>Здравствуйте, {$user}. </div>
<div>Последний раз Вы были {$last_date}, в {$last_time}</div>
<div>Сегодня {$moon_phase] фаза луны.</div> 
</body>
</html>
'; // впрочем, если ты читаешь файл, то тут будет $html= file_get_cntents(......);
$searches= array('{$user}', '{last_date}','{$last_time}','{$moon_phase}');
$replaces= array($user, $last_date, $last_time, $moon_phase);
$html= str_replace($searches, $replaces, $html);

Автор: gta4kv 9.3.2008, 09:29
skyboy,

Скобку не ту поставил в строке 6)

Код

<div>Сегодня {$moon_phase} фаза луны.</div> 


smile

Автор: Agares 9.3.2008, 14:06
skyboy, спасибо большое. это то что мне и нужно было для полного счастья smile +1

Автор: awers 9.3.2008, 20:10
мда как будто я что то другое предложил :(

Автор: Loncaster 9.3.2008, 21:19
 Ну это как вариант. Вообще если это чат, то могут понадобится конструкции сложнее обычной замены переменной, циклы там и т.д.
Так что познакомься с шаблонизатором каким-то. Как вариант, тот же smarty ) 

Автор: Agares 10.3.2008, 20:27
мне пока этого хватит. я пиу не сложный чат. а вот потом буду знакомится, когда буду его усложнять smile

Автор: Feldmarschall 10.3.2008, 20:55
Не стоит знакомиться со смарти.
Познакомься лучше с чем-нибудь другим. тем более, что друга со смарти знакомить, как я понимаю, в планы вообще не входит. А тебе предлагают именно это.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)