Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 11
1

Как найти только что нужно :) но без мусора, сохраняя условие

02.11.2018, 10:00. Показов 1838. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В строке:
ЯндексМаркет="1" Валюта="рубль" СвободныйОстатокНаБазе="2" ПутьФото="d92" Производитель="31" Модель="UHB-205 черный/зеленый" КраткоеОписание="Увлажнитель">Увлажнитель воздуха BALLU UHB-205 черный/зеленый <ПолноеОписание>

(?<=>)[^>]*?(?=\s*?<Полн)
Так то, что нужно, но без условия ЯндексМаркет="1

(?<=ЯндексМаркет="1[^>]).*?(?=\s*?<Полн)
Так с условием, но еще выделяет не нужное. Почему-то к [^>] нельзя добавить +?, а то бы весь мусор учелся.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2018, 10:00
Ответы с готовыми решениями:

Как установить VS 2015 Community без лишнего мусора?
Мне нужен только C# Отличная IDE Visual C# 2010, но хочется пользоваться современным софтом. ...

Как сделать редирект на нормальные адреса (без мусора в конце ссылки)
Здравствуйте, подскажите пожалуйста, как сделать редирект на нормальные адреса (без мусора в конце...

Как сохранить изображение без полей? Только то, что в боксе
Есть изображение рельефа поверхности. Настройки изображения следующие: figure...

Как отключить учётные запаиси - нужно что бы я был только админом
Мне нужно чтобы я только админом был и не просили больше разрешений, типа пароля, вдоступа к...

2
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
02.11.2018, 10:23 2
Лучший ответ Сообщение было отмечено Para bellum как решение

Решение

Не надо xml парсить регулярками.
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
02.11.2018, 11:55 3
Лучший ответ Сообщение было отмечено marat1984 как решение

Решение

PHP
1
2
3
4
5
6
7
$str = 'ЯндексМаркет="1" Валюта="рубль" СвободныйОстатокНаБазе="2" ПутьФото="d92" Производитель="31" Модель="UHB-205 черный/зеленый" КраткоеОписание="Увлажнитель">Увлажнитель воздуха BALLU UHB-205 черный/зеленый <ПолноеОписание>';
 
 
$patt = '~ЯндексМаркет="1".*?(?<=>)(.+?)(?=\s*<)~s';
preg_match($patt, $str, $arr);
 
print_r($arr[1]); // Увлажнитель воздуха BALLU UHB-205 черный/зеленый
Цитата Сообщение от marat1984 Посмотреть сообщение
Почему-то к [^>] нельзя добавить +?, а то бы весь мусор учелся.
Ретроспективная проверка (проще говоря, назад смотрящая) не поддерживает уточняющих квантификаторов. Это поведение можно компенсировать оператором альтернативного выбора "|" (ИЛИ), но к сожалению с помощью ИЛИ не всегда можно добиться нужного результата.

Добавлено через 5 минут
Но если вы постоянно работаете с XML, то рекомендую разобраться со встроенными в PHP инструментами для работы с XML.
1
02.11.2018, 11:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2018, 11:55
Помогаю со студенческими работами здесь

Как зашифровать файл так, чтобы прочитать его могла только программа? Сохраняя и удаляя
У нас есть .rtf документ (не текстовый, что важно), нужно его как-то исказить так, чтобы нельзя...

Как узнать HWND созданного только что SendMessage окна? и желательно без FindWindow
заранее спасибо если чо, то FindWindow почему то не работает. Добавлено через 54 минуты Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru