Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770 Форумы портала PHP.SU :: Версия для печати :: нужна регулярка на проверку текста
Необходимо проверить валидность текста перед тем как его запускать в обработчик
Предполагаемая вами схема продвеик вводимых пользователе информационных полей на предмет соответствия фиксированным допустимым списка значений - может быть реализовано посредтсвом использования функций поиска в многомерном массиве при установке собственного флага критерия совпадения
к сожелению меня интересует на данный момент не вопрос "что в массиве?", а "правильно ли он оформлен?"
попытаюсь объяснить более детально суть задачи:
изначально некий удаленный сервер мне возвращает подобный текст
но в целях безопастности, а точнее устойчивости к "внешним" ошибка (малоли что мне там вернут) хотел прежде чем исользовать eval() проверить результирующаю строку на валидность.
serialize и unserialize
кодируешь переменную, объект, массив в строку и передаешь куда хочешь сохраняешь в файл или как тебе удобно, потом читаешь раскодируешь и снова прежний вид, без всяких там eval и другого вредоносного кода.
Хотел прежде чем исользовать eval() проверить результирующаю строку на валидность
В качестве возможного варианта решения предполагаемой вами задачи заключающей в осуществении получения информационного поля из удаленного источника и проведения его проверки на допустимость входящих компонентов - возможно применение возможностей управялемой безопасной интерпретации указанного PHP-кода в отдельном потоке посредством функциональности модуля runkit
ALEN, )) серелизация мне точно не подходит, инфу генерит не мой сервак.
а вообще спасибо, за уточнение
все решается использованием json_encode() и json_decode()
хотя для php 4.х пришлось поизвращаться ссылка на класс и описание как правильно это дело подключить
Серелизация мне точно не подходит, инфу генерит не мой сервак
В случае если целевая структура получаемых информационных полей являеться фиксированных и заранее известной - то для организации безопасного разбора входных данных достаточно использовать покомпонентное разбиение исходной строки - и сохранения значений полей в соответствующую структуру на стороне приложения
Возможность организации передачи информационных полей в рамках фиксированного формата в действительности является простым и эфективнм средством - в качестве схожего метода передачи данных с широким распространением может использоваться urlencode-хранение информационных полей в кодированном представлении В случае если осуществления добавления требования к идентификатору передаваемой переменной как к пути ее представления в целевой структуре - аналогичая схема используется при применении идентификаторов типа name="arr[]" для автоматического создания индесных массивов в PHP-скрипте