Как мне написать свой скрипт для вывода данных, где я размещаю что-то вроде этого: {имя} - PullRequest
0 голосов
/ 01 июня 2009

Я видел много скриптов, где вы увидите что-то вроде этого

<meta keyword="{keywords}" ...>

или

<input type="text" name="name" value="{name}">

как это называется и как я могу сделать это сам.

спасибо

Ответы [ 4 ]

5 голосов
/ 01 июня 2009

Это называется шаблоном.

Вам нужен шаблонизатор или вы можете написать его самостоятельно. Давным-давно был популярный шаблонизатор под названием Smarty. Сегодня движки шаблонов являются частью большинства фреймворков.

Вот список нескольких шаблонизаторов для PHP: http://www.webresourcesdepot.com/19-promising-php-template-engines/

Учитывая тот факт, что у вас есть такой вопрос, ваш собственный шаблонизатор скорее всего будет иметь ошибки, поэтому я предлагаю выбрать один из свободно доступных.

Еще одна вещь. PHP сам по себе является своего рода механизмом шаблонов, поэтому вам не обязательно добавлять еще один уровень шаблонизации. Использовать PHP:

<input type="text" name="name" value="<?=$VALUES['name']?>">
1 голос
/ 01 июня 2009

Могу я порекомендовать ...

<input type="text" name="name" value="<?= e($name) ?>">

где e - экранирующая функция

я считаю, что шаблоны не нужны

больше примеров ...

Еогеасп ...

<ul>
<?php foreach( $items as $item ): ?>
    <li><?= e($item) ?><li>
<?php endforeach; ?>
</ul>

если ....

<input type="checkbox"<?php if( $checkbox ): ?> selected="selected"<?php endif; ?>>
0 голосов
/ 01 июня 2009

Я не уверен, что вы имеете в виду, но позвольте мне сделать дикое предположение:

$foo = "Please replace {this} here!";
$bar = str_replace('{this}', 'that', $foo);

Конечно, существует множество шаблонных систем, которые делают именно это, только намного умнее. Так что вы можете захотеть разобраться в этом.

0 голосов
/ 01 июня 2009

Существуют движки шаблонов, которые поддерживают этот стиль переменного синтаксиса, например шаблоны Blitz (http://alexeyrybak.com/blitz/blitz_en.html) приходит на ум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...