Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010 Откуда: Украина, Снежное
Помог: 0 раз(а)
Здравствуйте, у меня стала проблема что бы вывести строку типа " text <?=$x ?> text " а мне надо превратить с помощью регулярных выражений или чего то другого в строку типа " <?='text'.$x.'text'; "
----- Помогите в создании CMS!!!
ICQ 473319369
movEAX
Отправлено: 29 Апреля, 2010 - 08:38:00
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
koldya пишет:
Здравствуйте, у меня стала проблема что бы вывести строку типа " text <?=$x ?> text " а мне надо превратить с помощью регулярных выражений или чего то другого в строку типа " <?='text'.$x.'text'; "
То есть вам нужно превратить данные типа файла PHP-скрипта в чистый PHP-код который может быть выполнен с помощью функции eval например
В таком случае используйте набор из трех регулярных выражений - для обработки вывода до первого <?php-тега и после последнего ?>-тега - а также посредине
Не забывайте что подставляемые таким образом в echo данные нужно проэкранировать - соответственно перед выполнением такого сгенерированного кода
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
koldya
Отправлено: 03 Мая, 2010 - 13:28:37
Новичок
Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010 Откуда: Украина, Снежное
$text = "<p>Тут какой то текст</p><?include('post.php');?><p>И тут текст'</p> ";
s/^(.*?)\<php/<?php echo"$text"; \n/igs
s/^(.*?)?\>(.*?)\<php/echo"$text";\n/igs
s/?\>(.*?)$/echo "$text"; ?>\n/igs
или как???
----- Помогите в создании CMS!!!
ICQ 473319369
JustUserR
Отправлено: 04 Мая, 2010 - 09:45:54
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
koldya пишет:
Тогда мне надо что делать что бы получилось:
Приведенные регулярные выражения выбирают весь текст вне тегов <?php ?> и соответственно заменяют его на echo - то есть приведенный вами тексто должен преобразоваться в один <?php ?>-блок и внутри него добавлятся два вывода echo
Сами регулярные выражения написаны на Perl - и их нужно обрамить в кавычки и положить вовнутрь функции preg_replace
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
DeepVarvar
Отправлено: 04 Мая, 2010 - 10:08:15
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
DeepVarvar пишет:
Хтмлэнтитиес(ваша строка)
Здесь вы к сожалению неправы - поскольку речь по сути идет о переводе обычного кода PHP-скрипта позволяющего делат HTML-встаки - в вид исполняемого PHP-кода с заменой всех текстовых блоков на опертор echo
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
koldya
Отправлено: 04 Мая, 2010 - 16:17:00
Новичок
Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010 Откуда: Украина, Снежное
Помог: 0 раз(а)
JustUserR пишет:
Сами регулярные выражения написаны на Perl - и их нужно обрамить в кавычки и положить вовнутрь функции preg_replace
Можешь написать а то я уже не соображаю
----- Помогите в создании CMS!!!
ICQ 473319369
JustUserR
Отправлено: 05 Мая, 2010 - 09:16:47
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
koldya Перепишите оставшиеся выражения вот в таком виде
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.