Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Всем привет, помогите пожалуйста с регулярными выражениями

32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
Суть такая.
-------------------------
есть форма

<form action=test.php method=post>
<p>вывести текст</p>
<input type=text name=text>
</form>
----------------------------------
есть файл шаблон сверстанный

index.html

<body><table><tr><td>

{content}</td></tr>

<tr><td>{menu}</td></tr></table>
</body>


есть скрипт

test.php

<?php

$out=str_replace("{content}",$_post['text'],'{content}');

$file=fopen('./page/index.html','w');
fputs($file,$out);
fclose($file);

?>

----------------------------
воть, нифига не работает
244
16 февраля 2008 года
UAS
2.0K / / 19.07.2006
А че должно получиться-то.. Я чет не понял, а где сам вопрос?
32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
UAS нужно чтобы строка {content} заменялась текстом, введенным через форму.
420
16 февраля 2008 года
Fobos
197 / / 10.03.2006
Ты просто неправильно начинаешь.

Тебе нужно парсить просто файл шаблона, где у тебя {content}.
Допустим файл шаблона template.tpl

А в index.php у помести такую ерунду:
 
Код:
$template = file('template.tpl');
  foreach ($template as $parseString)
  {    
    $parseString = str_replace('{content}', $_post['text'], $parseString);
    echo $parseString;
  }

Ну и так со всеми переменными.
32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
Спасибо большое, а передать через форму текст сразу в файл не получиться, вместо того чтобы брать его из шаблона. Мне это нужно.
4
16 февраля 2008 года
mike
3.7K / / 01.10.2002
Сам то понял что сказал?

Вот твой код:

 
Код:
$out=str_replace("{content}",$_post['text'],'{content}');


1. Массива $_post не существует. Есть только $_POST.
2. str_replace(что заменить,на что заменить,где заменить);

у тебя

где заменить - {content}
что заменить - {content}
на что заменить - пусто

в результате получаем - пусто
32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
Здравствуйте MIKE, спасибо, я просто опечатался, спешил, я решил проблему

$out=str_replace("{content}",$_POST['text'],$_POST['text']);

$file=('./page/index.html','r+');
fputs($file,$out);

то что вводиться в форме идет в шаблон, цель достигнута, спасибо всем за ответы.

MIKE если оставить третий параметр функции str_replace пустым то выдает ошибку T_STRING, я написал переменную $_POST['text'], вроде пока что работает.
15K
16 февраля 2008 года
hel
78 / / 10.11.2007
Вот моя базовая функция шаблонизатора, если тебе нужна именно она. Для простоты убрал все навороты:
Код:
function parse($tpl, $args){
    if(file_exists($tpl)) $ctpl=file_get_contents($tpl);
    else exit('Шаблон не найден: '.$tpl);

    if(is_array($args)){
        foreach($args as $key => $value){
            $ctpl=str_replace('{'.$key.'}', $value, $ctpl);
        }
    }

    return $ctpl;
}

// Используем шаблонизатор
$template="test.tpl";
$args["contents"]=htmlspecialchars($_POST["text"]);
$args["title"]=htmlspecialchars($_POST["title"]);
print parse($template, $args);


На ошибки не проверял, но должно работать.
32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
Сори за флуд я ошибся. надо {content} вставлять было вместо $_POST['text']
420
16 февраля 2008 года
Fobos
197 / / 10.03.2006
Цитата: neyron-net
Спасибо большое, а передать через форму текст сразу в файл не получиться, вместо того чтобы брать его из шаблона. Мне это нужно.


А какой смысл? Все ведь итак будет отображаться именно в индексном файле динамически, и код будет отделён от дизайна + дизайн будет в отдельном файле, что позвалит легко и непренуждённо его редактировать. А если всё мешать в 1 файл, то проще воспользоваться простым выводом переменных из _post[] или _get[].

Сама суть шаблонного построения сайта и заключается в отделении дизайна от php, что позволяет отредактировав 1 файл (например template.tpl) изменить дизайн всего сайта, без вмешательства в php.

32K
16 февраля 2008 года
neyron-net
19 / / 14.02.2008
Верно говоришь, спасибо, попробую внедрить твой парсер в свою чудо програмку)))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог