Articles of Прохождение

Как пройти SimpleXML для редактирования текстовых узлов?

Мне нужно реализовать следующий алгоритм с SimpleXML: положить строку фрагмента XML в объект SimpleXML; перемещать все узлы, выбирая текстовые узлы; редактировать текстовый узел (пример конвертировать в верхний регистр); верните xml как строку. ПРОБЛЕМЫ: Как загрузить XML с именованными объектами (например,   ). Чтобы перемещаться по XML, чтобы получить только текстовые узлы … С $sx->xpath('//text()'); Я […]

Рекурсивное обход дерева с помощью mysql через PHP

Я создаю анкету для клиента, которая требует, чтобы вопросы были организованы на 3 уровня уровней. Я успешно создал пользовательский интерфейс, однако я пытался в течение последних 3 часов извлекать данные из базы данных таким образом, чтобы все загружалось в нужном месте. База данных организована так клиентом, поэтому я не контролирую ее: id description parentId 1 […]

Динамическое перемещение массива в PHP

Я хочу построить иерархию из одномерного массива и может (почти) сделать это с помощью более или менее жесткокодированного кода. Как я могу сделать код динамическим? Возможно, с while(isset($array[$key])) { … } ? Или, с дополнительной функцией? Например: $out = my_extra_traverse_function($array,$key); function array_traverse($array,$key=NULL) { $out = (string) $key; $out = $array[$key] . "/" . $out; $key […]

Предотвращение обхода каталога в PHP, но допускающие пути

У меня есть базовый путь / what / foo / и $_GET['path'] должен относиться к нему. Однако как это сделать (чтение каталога), не разрешая обход каталога? например. /\.\.|\.\./ Не будет правильно фильтроваться.

DOM: выбор всех текстовых узлов в документе (PHP)

У меня есть следующий (PHP) код, который проходит весь документ DOM, чтобы получить все текстовые узлы. Это немного уродливое решение, и я уверен, что должен быть лучший способ … так, не так ли? $skip = false; $node = $document; $nodes = array(); while ($node) { if ($node->nodeType == 3) { $nodes[] = $node; } if […]