Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > Регулярные выражения |
Автор: NZero 23.10.2014, 15:11 | ||||||
Написал небольшой код для вытягивания данных из
мой код
После выполнения кода должно получиться засор, канализация, устранение засоров, прочистка канализации, разморозка труб но получаю
Кстати нашел отличный сайт для генерации регулярных выражений http://regex101.com |
Автор: igorold 23.10.2014, 15:44 | ||
может так:
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Regulyarnyye-vyrazheniya-id5448f095ae2015133f8b4567#findElement_E7045_5448f833ae20154c438b4574_0 |
Автор: NZero 23.10.2014, 15:49 | ||||||
Так выдает другую ошибку! вот так более менее работает
но выводится 0. Как же выводить то что мне нужно? |
Автор: s0lman 23.10.2014, 16:09 | ||||||
Гоните. Идем читать мануал http://php.net/manual/en/function.preg-match.php
Чтоб получить вхождения, есть третий параметр $matches. Зачем выполнять телодвижения с заменой символов, если задача получить подстроку по регулярке? В данном случае этим только усложняется составление регулярки. В простейшем исполнении задача решается примерно так
где $str - исходная строка (с кавычками, пробелами и т.д.) |
Автор: baldina 23.10.2014, 16:09 | ||||
слэш лишний
и чего эта строка должна делать? я бы сделал типа
|
Автор: NZero 23.10.2014, 16:20 | ||
Сделал так
|
Автор: s0lman 23.10.2014, 16:27 |
Если проверять на вхождение, тогда, дума, лучше http://php.net/manual/en/function.strpos.php |
Автор: baldina 24.10.2014, 09:43 |
может не работать, т.к. (.*) может содержать " т.е. например в строке '<meta keywords="" content="a,b,c"><meta charset="utf-8">' в подстановку попадет 'a,b,c"><meta charset="utf-8' надо пожаднее, (.*?) |