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


Автор: umnick 6.9.2013, 09:34
Доброго времени суток!

Пожалуйста подскажите функцию которая бы отлавливала php код в текстовых полях.

Автор: SergV 6.9.2013, 10:20
Что именно отлавливать, отдельные операторы и т.д., или конкретно весь код между <?php ... ?> ?
Первое - хз, может и есть какие библиотеки для этого, но это будет ну очень тяжёлая библиотека, я так думаю. Второе, это элементарный парсинг(регулярные выражения) текста на вставки между/с приведённым выше. Примерно что то так - "preg_match_all( '#<?php(.+?)?>#is', $text, $matches );", хотя может ошибка где, я не спец в регулярках, так что первое вспомнил, не уверен что всё правильно. По сути данная регулярка должна передать в массив $matches все подобные вставки пхп кода.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//Функция-для-отлавливания-php-кода-в-текстовом-поле-id522977d3ae201589678b4567#findElement_E7045_52298250ae2015ae638b4cba_0

Автор: Nikius 6.9.2013, 23:45
Знаки "?" в регулярке надо экранировать.

Еще можно попробовать проверить функцией php_check_syntax. Если вернет true, значит там валидный пхп код.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//Функция-для-отлавливания-php-кода-в-текстовом-поле-id522977d3ae201589678b4567#findElement_E7045_522a3ef7ae2015fa658b508c_0

Автор: SergV 8.9.2013, 12:01
Цитата

   Знаки "?" в регулярке надо экранировать
   

точно, пропустил по запарке. :)

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//Функция-для-отлавливания-php-кода-в-текстовом-поле-id522977d3ae201589678b4567#findElement_E7045_522c3cecae2015ef0600061b_0

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