есть php файл и команда в котором выполняется вытягивание текста из файла. но нужно чтобы в этом тексте еще и выводило паралельно <?php print $title;?>
иначе, есть
<?php $text=file("SEO.txt"); // читаем файл в массив ($text[0] - первая стока, $text[1] - вторая, $text[9996] - 1000-я строка)
$str=rand(0,9996); // получаем случайное число от 0 до 1000
echo $text[$str]; // выводим случайную строку
;?>
но в "SEO.txt" вот такой текст: тобы начать просмотр фильм <?php print $title;?> бесплатно
Как это все правильно сделать?
Комментарии
eval()
А зачем в текстовых файлах хранить информацию? Пихай в БД ее.
Так легче с ней манипулировать.
В файле SEO.txt, код <?php print $title;?> замените на тег, напиример {title}.
А код вывода получится такой:
<?php
$text = @file("SEO.txt");
$str = rand(0,9996);
echo str_replace('{title}', $title, $text[$str]);
?>
P.S
Для вывода одной переменной рекомендую использовать конструкцию <?=$title;?> , а не <?php print $title;?>
Опасный вариант.
Никогда не используйте данную функцию, если есть другие способы решения задачи!
Блин, люди, А как сделать чтобы этот текст генерировался только 1 раз а не каждый раз при обновлении страницы?
в базу его сохраняй. В базу. И все.
и как сделать это, и чтобы эта строка еще и только 1 раз выводилась на сайте и на всегда9каждый раз не менялась при обновлении страницы)
Сохрани в БД и вытаскивай ее при надобности. Ни каких файлов, ни какого гемороя.
Если ты выводишь этот текст где-то в ноде, то создай дополнительное поле в ней и заполни его единожды.
set_time_limit(0);
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$text = @file("SEO.txt");
$result = db_query("SELECT nid FROM {node}");
foreach ($result as $row) {
$str = rand(0,9996);
$value=str_replace('{title}', $title, $text[$str]);
$nid=$row->nid;
//Значение для поля у тебя есть($value),nid тоже есть.
//Куришь API и сохраняешь новое поле.
}
?>
Всегда пожалуйста