Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить регулярку 
:(
    Опции темы
SneG0K
Дата 6.5.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



В общем получаю некий html валидный код, нужно получить все, что находится между
Код

<title>  [color=red]Нужная информация[/color]  - Site name - Site page </title>

Т.е. нужную информацию.
PM WWW Skype   Вверх
unicross
Дата 6.5.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Код
$str = '<Title>  Нужная  - информация  - Site name - Site page </title>';
$arr = array();
if (preg_match('#<title>(.*)\-.*?\-.*?</title>#si', $str, $arr)) {
   echo $arr[1];
}
else echo 'Не найдено';

?

Добавлено через 7 минут и 2 секунды
Или так:
Код
$str = '<Title>  Нужная  - информация  - Site name - Site page </title>';
$arr = array();
if (preg_match('#<title>([^<]*)\-[^<]*?\-[^<]*?</title>#si', $str, $arr)) {
   echo $arr[1];
}
else echo 'Не найдено';

PM MAIL WWW   Вверх
SneG0K
Дата 6.5.2010, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



А оно получается еще захватывает кусок
Цитата

  - Site name - Site page 
А нужно только
Цитата

Нужная информация
 smile

Добавлено через 3 минуты и 7 секунд
Точнее там есть еще некий кусочек текста, который нужно обрезать smile
PM WWW Skype   Вверх
unicross
Дата 6.5.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



$arr[0] содержит полное совпадение, а $arr[1] только "Нужная информация". Или BB-коды color также входят в заголовок?

Чтобы что-то найти нужно сделать привязку к чему-нибудь. Вот в "Нужная информация" дефис может содержать или нет? Если нет, то можно сделать привязку к <title>:
Код
$str = '<Title>  Нужная информация  - Site name - Site page </title>';
$arr = array();
if (preg_match('#<title>([^<]*?)\-#si', $str, $arr)) {
   echo $arr[1];
}
else echo 'Не найдено';

Однако, если дефис может быть, то получите только фрагмент до первого дефиса...

Цитата
Точнее там есть еще некий кусочек текста, который нужно обрезать

SneG0K, показал бы этот кусочек...
PM MAIL WWW   Вверх
SneG0K
Дата 7.5.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Стоп, начал применять это на деле, ничего не вышло.
Есть некий HTML код. Извлечь весь текст между <title> и </title>
Внутри могут быть абсолютно ЛЮБЫЕ символы.
PM WWW Skype   Вверх
patap
Дата 7.5.2010, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



это должно быть то, что между bb-тегом color
Код

<title>.*?\[color=red\](.*?)\[/color\].*?</title>


если все что между <title></title>
Код

<title>(.*?)</title>


если не то, то лучше приведи примеры текстов как просил unicross

Это сообщение отредактировал(а) patap - 7.5.2010, 12:51


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
SneG0K
Дата 7.5.2010, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Там бб-тега небыло. Это форум криво вставил ((

Добавлено через 8 секунд
Спасибо)
PM WWW Skype   Вверх
Guedda
Дата 13.5.2010, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



С регулярками не получается дружить, помогите, пожалуйста.
Есть строка, надо проверить, если есть в этой строке _min товыполнять какое-то действие, иначе не выполнять. Как сделать это? Заранее благодарен.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
NewDima
Дата 13.5.2010, 12:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Для этого не нужна регулярка. strpos
PM ICQ   Вверх
Guedda
Дата 13.5.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Спасибо. Вообще об этой функции забыл...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.