[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Написать красивое и быстрое регулярное выражение
Kumena
Доброго дня!

Мне требуется переписать мое существующее регулярное выражение для определения character set из META-тагов веб-страницы.

У меня есть две проверки - для одинарных и двойных кавчек:

preg_match( '@<meta\s+http-equiv="Content-Type"\s+content="([\w/]+)(;\s+charset=([^\s"]+))?@i', $content, $matches );

if (!empty($matches[3])) {
$encoding = strtolower(trim(str_replace(";","",$matches[3])));
}
else {
preg_match( '@<meta\s+http-equiv=\'Content-Type\'\s+content=\'([\w/]+)(;\s+charset=([^\s\']+))?@i', $content, $matches );
$encoding = strtolower(trim(str_replace(";","",$matches[3])));
}


Проблема в том, что порядок следования параметров на своих страницах ($content) веб-мастера меняют как захочется. И в случае, например:

"<meta content="text/html; charset=windows-1251" http-equiv="Content-Type">"
вышеуказанная регулярка не работает.

Мне нужно:
Переписать эту регулярку таким образом чтобы обеспечить максимальную универсальность при таких переменах мест параметров в мета-теге. Также важна скорость её работы, т.к. код работает в весьма высоко нагруженном процессе.

Имею на это дело бюджета долларов 10 (WebMoney?) и дня два времени.

Люди добрые, помогите кто чем может (с) :)
Invis1ble
Kumena
у меня есть готовое рабочее решение, пиши в ПМ

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Kumena
С помощью Invis1ble вопрос решен. Спасибо!
Игорь_Vasinsky
нормальная цена? biggrin.gif

а html5 войдёт в моду - оба твоих паттерна в печь)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 9.10.2012 - 14:30)
а html5 войдёт в моду - оба твоих паттерна в печь)

можно сделать универсальный вариант wink.gif
Invis1ble
Мое решение охватывает и html5 wink.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Игорь_Vasinsky
Kumena
ты чё дурачёк? laugh.gif ты че минусуешь - я те по делу написал.

почитай мануалы.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
loader
Народ нужно универсальное регулярное выражение для

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta charset="utf-8" />
<meta charset="utf-8">

помогите?
Zzepish
loader
preg_match_all('/<meta[^>]+>/',$str,$result)
twin
Zzepish
ой...
get_meta_tags

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Zzepish
twin
там, как я подозреваю, тоже регулярка (в самой функции)))))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.