PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 11
maximus_xx Отправлено: 07 Сентября, 2016 - 11:16:53 • Тема: Удаление лишних дочерних элементов в xml • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 106
Мелкий, у меня получилось что-то типа:
PHP:
скопировать код в буфер обмена
  1. foreach ($xml->body->children() as $section) {
  2. $section = $section->asXML();
  3.  
  4. $section = strip_tags($section, '<image/><empty-line/><poem><epigraph><stanza><title><p>');
  5.  
  6. }



Но вот как сохранить ноду обратно?
Пробовал добавлять, но не помогло:
maximus_xx Отправлено: 07 Сентября, 2016 - 09:32:48 • Тема: Помогите с редиректом плачу • Форум: FreeLance

Ответов: 2
Просмотров: 845
Можете пример показать что пропадает?
maximus_xx Отправлено: 07 Сентября, 2016 - 09:15:16 • Тема: Удаление лишних дочерних элементов в xml • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 106
Мелкий пишет:
За вас писать лениво, одно из направлений поиска: simplexml, находите корневой элемент, для которого надо почистить детей, получаете текстовое представление asXml, strip_tags, сохраняете ноду обратно.

Хах действительно, что-то я не подумал. Спасибо за совет.

Я сначало хотел регулярками резать, но такой вариант получше
maximus_xx Отправлено: 07 Сентября, 2016 - 03:08:26 • Тема: Удаление лишних дочерних элементов в xml • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 106
Всем привет, у меня на сайте около 3000 xml файлов и они имеют немного неправильную структуру. Поясню детальнее, есть древо:
CODE (html):
скопировать код в буфер обмена
  1. text
  2. <tag>
  3. text
  4. <tag>text</tag>
  5. text
  6. </tag>
  7. text


Вместо слова text могут быть любые символы в том числе другие теги. Мне нужно удалить лишние теги tag, вложений может быть и больше чем в примере.

Может у кого-то была такая проблема, поделитесь решением

Результат должен быть:
CODE (html):
скопировать код в буфер обмена
  1. text
  2. <tag>
  3. text
  4. text
  5. text
  6. </tag>
  7. text
maximus_xx Отправлено: 18 Декабря, 2015 - 22:39:20 • Тема: Составить регулярное выражения PCRE • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 23
Здравствуйте,

Я регулярки начал изучать недавно и еще не совсем до конца могу писать качественный код.
Помогите пожалуйста с заменой такой строки:
PHP:
скопировать код в буфер обмена
  1. $file = 'public://paths/path_2/file.jpg'; //Подпапок может быть больше 2
  2.  
  3. $file_name = preg_replace($pattern, $replacement, $file);
  4.  
  5. print $file_name; //Здесь нужно вывести название файла, тоесть 'file.jpg'


ПС. Еще б хотелось заменить название с 'file.jpg' на другое (например, image.jpg).
(Добавление)
Пока ждал ответ, написал сам Радость
PHP:
скопировать код в буфер обмена
  1. $file = 'public://paths/path_2/file.jpg';
  2.      
  3. $file_name = preg_replace('/(public|private):\/\/([^\/].*[\/$]+)(.*).jpg/i', '$3.jpg', $file);
  4.      
  5. print $file_name;
maximus_xx Отправлено: 19 Ноября, 2015 - 21:42:27 • Тема: Условие при работе с классом SimpleXMLElement • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 47
Sail пишет:
Содержит сгенерированный исключением объект типа Exception.


Благодарен, помогли немного нубу разобратся Язычок
maximus_xx Отправлено: 18 Ноября, 2015 - 17:45:01 • Тема: Условие при работе с классом SimpleXMLElement • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 47
Sail пишет:
maximus_xx пишет:
Как мне сделать условие при котором если файл не xml то скрипт не должен исполнятся

Например:
PHP:
скопировать код в буфер обмена
  1.         try {
  2.             libxml_use_internal_errors(true);
  3.             $xml = new SimpleXMLElement("compress.zlib://$file_sourse_url", NULL, TRUE);
  4.         } catch (Exception $ex) {
  5.             libxml_clear_errors();
  6.             exit('Ожидались данные в XML-формате.');
  7.         }
  8.  


Спасибо огромное, помогло. А $ex это что за переменная?
maximus_xx Отправлено: 18 Ноября, 2015 - 14:40:38 • Тема: Условие при работе с классом SimpleXMLElement • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 47
Есть скрипт который считывает xml-файл с .gz архива и далее выводит данные.

В чем суть проблемы?
Когда файл xml в архиве проблем нету. Но вот когда в архиве любой другой, например просто текст, то выбивает ошибку:

Цитата:
Warning: SimpleXMLElement::__construct(): compress.zlib://http://site.ru/files/157-test2.gz:1: parser error : Start tag expected, '<' not found в функции xml_import_view() (строка 107 в файле).


Вопрос
Как мне сделать условие при котором если файл не xml то скрипт не должен исполнятся.

Вот собственно код где используется класс:
PHP:
скопировать код в буфер обмена
  1.  
  2. $xml = new SimpleXMLElement("compress.zlib://$file_sourse_url", NULL, TRUE);
  3. $body = $xml->body;
  4. print $body;
  5.  
maximus_xx Отправлено: 20 Октября, 2015 - 11:04:27 • Тема: Фильтрация ассоциативного массива по количеству символов в значении? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 199
DelphinPRO, спасибо!
maximus_xx Отправлено: 20 Октября, 2015 - 10:39:03 • Тема: Фильтрация ассоциативного массива по количеству символов в значении? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 199
Tyoma5891, что-то не смешно.
Я имею ввиду размер текста по количеству символов от 20-30 например.
maximus_xx Отправлено: 20 Октября, 2015 - 10:17:29 • Тема: Фильтрация ассоциативного массива по количеству символов в значении? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 199
Здравствуйте, есть массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array(1 => 'Меньший текст', 2 => 'Средний размер текста', 3 => 'Очень большой размер текста');
  3.  

Что мне нужно? Отфильтрировать массив и оставить тексты по количеству символов как в 2 элементе массива. Остальные удалить с массива.


Знаю что есть функция array_filter, но как правильно отфильтририровать данные не знаю.

Помогите найти решение вопроса.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB