[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Любителям регулярок
Страницы: 1, 2
killer8080
Цитата (Invis1ble @ 28.11.2012 - 12:07)
Эх, почти
$content = '<!-- <title><data:blog.pageTitle/></title> -->
...
тро ло ло, что то еще..
<!--<title>заголовок</title>
<!--hhg <title>bad</title>';

согласен, провтыкал, вот фикс
'#^(?:(?:<!--.*-->)*(?<!<!--).?)*(?<!<!--)<title>(.+)</title>.*$#isU' 

Цитата (Invis1ble @ 28.11.2012 - 12:07)
$content = '<!-- <title><data:blog.pageTitle/></title> -->
...
тро ло ло, что то еще..
<title>заголовок</title> -->
<!--hhg <title>bad</title>-->';

тут не согласен, закрывающий коммент, без открывающего комментарием не является, и будет отображен браузером как обычный текст -->
Invis1ble
Цитата
тут не согласен, закрывающий коммент, без открывающего комментарием не является, и будет отображен браузером как обычный текст -->

это для предыдущей регулярки, там был баг. в новой все норм

_____________

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

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

redreem
регулярки такие регулярки
killer8080
регулярку можно немного укоротить
'#^(?:(?:<!--.*-->)*(?<!<!--).?)*(?<!<!--)<title>(.+)</title>#isU' 
Invis1ble
Для будущих поколений:
от DOMDocument тоже пришлось отказаться (по причине своевольной смены им кодировки), заюзал в итоге simple_html_dom
Будем посмотреть, надеюсь, багов не вылезет

_____________

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

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

Placido
Апну тему, если никто не возражает. Предложу более простую регулярку
'#<!--.*?-->|<!--.*|<title>(.*?)</title>#s'

Все незакомментированные тайтлы, если они есть, будут в первой подмаске:
preg_match_all('#<!--.*?-->|<!--.*|<title>(.*?)</title>#s', $txt, $matches);
print_r($matches[1]);
hydravlik
Здравстсвуйте уважаемые коллеги! Я еще не волшебник....помогите мне если можете с регулярками
хочу использовать такой код
var siCss=document.createElement('link');siCss.setAttribute('rel','stylesheet');s iCss.setAttribute('type','text/css');siCss.setAttribute('href','http://informers.sinoptik.ua/css/informers.css?v=2');document.getElementsByTagName('head')[0].appendChild(siCss);function siClickCount(){var siCount=document.createElement('script');siCount.setAttribute('type','text/javasc ript');siCount.setAttribute('src','http://informers.sinoptik.ua/counter.php?lang=ua&rnd='+new Date().valueOf());document.getElementsByTagName('head')[0].appendChild(siCount);}function LoadInformer(data){if(document.getElementById('siHeader')){document.getElementById('siHea der').innerHTML=data.date};for(var i=0;i< data.body.length;i++){if(data.body[i]!=null){if(document.getElementById('siT'+i)){documen t.getElementById('siT'+i).innerHTML=data.body[i].temp};if(document.getElementById('weathe rIco'+i)){document.getElementById('weatherIco'+i).className='weatherIco '+data.body[i].img};if(document.getElementById('vl'+i)){document.getElementById('vl&# 39;+i).innerHTML=data.body[i].rh};if(document.getElementById('dav'+i)){document.getElementByI d('dav'+i).innerHTML=data.body[i].p};if(document.getElementById('wind'+i)){document.g etElementById('wind'+i).innerHTML=data.body[i].ws};}}document.getElementById('SinoptikInf ormer').style.display='block';}LoadInformer( {date:'у середу, 05 грудня 2012 року, вечір', body:[{"temp":"-1&deg;","wt":"\u042e\u0412","ws":"2 \u043c\/\u0441, <span class=\"wind wind-SE\" title=\"\u043f\u0456\u0432\u0434\u0435\u043d\u043d\u043e-\u0441\u0445\u0456\u0434\u043d\u0438\u0439\"><\/span>","p":"739 \u043c\u043c","rh":"90%","img":"n412"}]} )

нужно отфильтровать и переместить в переменные некоторые цифры
например: -1 (из "temp":"-1&deg;")
SE (из class=\"wind wind-SE\")
739 (из <\/span>","p":"739)
Быстрый ответ:

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