killer8080
28.11.2012 - 14:17
Цитата (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
28.11.2012 - 14:25
Цитата |
тут не согласен, закрывающий коммент, без открывающего комментарием не является, и будет отображен браузером как обычный текст --> |
это для предыдущей регулярки, там был баг. в новой все норм
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
redreem
28.11.2012 - 14:39
регулярки такие регулярки
killer8080
28.11.2012 - 14:39
регулярку можно немного укоротить
'#^(?:(?:<!--.*-->)*(?<!<!--).?)*(?<!<!--)<title>(.+)</title>#isU'
Invis1ble
28.11.2012 - 18:45
Для будущих поколений:
от DOMDocument тоже пришлось отказаться (по причине своевольной смены им кодировки), заюзал в итоге simple_html_dom
Будем посмотреть, надеюсь, багов не вылезет
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Placido
10.12.2012 - 12:06
Апну тему, если никто не возражает. Предложу более простую регулярку
'#<!--.*?-->|<!--.*|<title>(.*?)</title>#s'
Все незакомментированные тайтлы, если они есть, будут в первой подмаске:
preg_match_all('#<!--.*?-->|<!--.*|<title>(.*?)</title>#s', $txt, $matches);
print_r($matches[1]);
hydravlik
14.12.2012 - 02:35
Здравстсвуйте уважаемые коллеги! Я еще не волшебник....помогите мне если можете с регулярками
хочу использовать такой код
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°","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°")
SE (из class=\"wind wind-SE\")
739 (из <\/span>","p":"739)