Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Регулярка


Автор: aleks2020 30.5.2012, 07:06
<title> Poker Day 1 - YouTube </title>

нужно вытащить название, включая пробелы.

Автор: IBS 30.5.2012, 07:26
Так походу
(?<=<title>).+(?=</title>)

Автор: Gold Dragon 30.5.2012, 08:52
Код

$a = "<title>Poker Day 1 - YouTube</title>";
$b = preg_match("#<title>([\S\s]+)<\/title>#i", $a, $c);

if($b){
    echo 'Результат: ' . $c[1];
}else{
    echo 'Что-то ничего нет ☹';
}

Автор: krypt3r 30.5.2012, 09:47
На кой выпендриваццо? smile Простой вариант
Код
#<title>(.*?)</title>#

Автор: aleks2020 30.5.2012, 10:24
ничего не работает.

вот отсюда нужно вытащить между title и title:
<!DOCTYPE html> <html lang="ru" dir="ltr" > <!-- machid: ebXpDQkpkekxIZUV5N2sxX0R1VExOMnY3cVNodU9VclZqZ3NnUy1xUUFDVFdvR0lQdUwyYThn --> <head> <script> var yt = yt || {};yt.timing = yt.timing || {};yt.timing.tick = function(label, opt_time) {var timer = yt.timing['timer'] || {};if(opt_time) {timer[label] = opt_time;}else {timer[label] = new Date().getTime();}yt.timing['timer'] = timer;};yt.timing.info = function(label, value) {var info_args = yt.timing['info_args'] || {};info_args[label] = value;yt.timing['info_args'] = info_args;};yt.timing.info('e', "907612,906360,919323,907217,907335,921602,919306,919316,904455,912804,912706,904452");yt.timing.wff = true;yt.timing.info('pr', "1");yt.timing.info('an', "dclk,aftv,afv");yt.timing.tick('start');yt.timing.info('li','0');try {yt.timing['srt'] = window.gtbExternal && window.gtbExternal.pageT() ||window.external && window.external.pageT;} catch(e) {}if (window.chrome && window.chrome.csi) {yt.timing['srt'] = Math.floor(window.chrome.csi().pageT);}if (window.msPerformance && window.msPerformance.timing) {yt.timing['srt'] = window.msPerformance.timing.responseStart - window.msPerformance.timing.navigationStart;} </script> <script>var yt = yt || {};yt.preload = {};yt.preload.counter_ = 0;yt.preload.start = function(src) {var img = new Image();var counter = ++yt.preload.counter_;yt.preload[counter] = img;img.onload = img.onerror = function () {delete yt.preload[counter];};img.src = src;img = null;};yt.preload.start("http:\/\/o-o.preferred.svo01s01.v1.lscache7.c.youtube.com\/crossdomain.xml");yt.preload.start("http:\/\/o-o.preferred.svo01s01.v1.lscache7.c.youtube.com\/generate_204?upn=iPB-Cijg158\u0026sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire\u0026fexp=907612%2C906360%2C919323%2C907217%2C907335%2C921602%2C919306%2C919316%2C904455%2C912804%2C912706%2C904452\u0026mt=1338361210\u0026ms=au\u0026algorithm=throttle-factor\u0026itag=34\u0026ip=92.0.0.0\u0026burst=40\u0026sver=3\u0026signature=A2505E92C240C9847CBB9A490B64D48E1DF8C734.620376A0579804EE9726EEF3C28AFC6DC29FC794\u0026source=youtube\u0026expire=1338387582\u0026key=yt1\u0026ipbits=8\u0026factor=1.25\u0026cp=U0hSTVNTVV9NTENOMl9LTVlGOkpYRzhrU2VDSnpL\u0026id=9e7938922a187b80");</script> <title> Poker Day 1 - YouTube </title> <link rel="search" type="application/opensearchdescription+xml" href="http://www.youtube.com/opensearch?locale=ru_RU" title="аŸаОаИбаК аВаИаДаЕаО YouTube"> <link rel="icon" href="http://s.ytimg.com/yt/favicon-refresh-vfldLzJxy.ico" type="image/x-icon"> <link rel="shortcut icon" href="http://s.ytimg.com/yt/favicon-refresh-vfldLzJxy.ico" type="image/x-icon"> <link rel="canonical" href="/watch?v=nnk4kioYe4A"> <link rel="alternate" media="handheld" href="http://m

Автор: Gold Dragon 30.5.2012, 10:38
у меня работает.

$a = <<<EOF
<!DOCTYPE html> <html lang="ru" dir="ltr" > <!-- machid: ebXpDQkpkekxIZUV5N2sxX0R1VExOMnY3cVNodU9VclZqZ3NnUy1xUUFDVFdvR0lQdUwyYThn --> <head> <script> var yt = yt || {};yt.timing = yt.timing || {};yt.timing.tick = function(label, opt_time) {var timer = yt.timing['timer'] || {};if(opt_time) {timer[label] = opt_time;}else {timer[label] = new Date().getTime();}yt.timing['timer'] = timer;};yt.timing.info = function(label, value) {var info_args = yt.timing['info_args'] || {};info_args[label] = value;yt.timing['info_args'] = info_args;};yt.timing.info('e', "907612,906360,919323,907217,907335,921602,919306,919316,904455,912804,912706,904452");yt.timing.wff = true;yt.timing.info('pr', "1");yt.timing.info('an', "dclk,aftv,afv");yt.timing.tick('start');yt.timing.info('li','0');try {yt.timing['srt'] = window.gtbExternal && window.gtbExternal.pageT() ||window.external && window.external.pageT;} catch(e) {}if (window.chrome && window.chrome.csi) {yt.timing['srt'] = Math.floor(window.chrome.csi().pageT);}if (window.msPerformance && window.msPerformance.timing) {yt.timing['srt'] = window.msPerformance.timing.responseStart - window.msPerformance.timing.navigationStart;} </script> <script>var yt = yt || {};yt.preload = {};yt.preload.counter_ = 0;yt.preload.start = function(src) {var img = new Image();var counter = ++yt.preload.counter_;yt.preload[counter] = img;img.onload = img.onerror = function () {delete yt.preload[counter];};img.src = src;img = null;};yt.preload.start("http:\/\/o-o.preferred.svo01s01.v1.lscache7.c.youtube.com\/crossdomain.xml");yt.preload.start("http:\/\/o-o.preferred.svo01s01.v1.lscache7.c.youtube.com\/generate_204?upn=iPB-Cijg158\u0026sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire\u0026fexp=907612%2C906360%2C919323%2C907217%2C907335%2C921602%2C919306%2C919316%2C904455%2C912804%2C912706%2C904452\u0026mt=1338361210\u0026ms=au\u0026algorithm=throttle-factor\u0026itag=34\u0026ip=92.0.0.0\u0026burst=40\u0026sver=3\u0026signature=A2505E92C240C9847CBB9A490B64D48E1DF8C734.620376A0579804EE9726EEF3C28AFC6DC29FC794\u0026source=youtube\u0026expire=1338387582\u0026key=yt1\u0026ipbits=8\u0026factor=1.25\u0026cp=U0hSTVNTVV9NTENOMl9LTVlGOkpYRzhrU2VDSnpL\u0026id=9e7938922a187b80");</script> <title> Poker Day 1 - YouTube </title> <link rel="search" type="application/opensearchdescription+xml" href="http://www.youtube.com/opensearch?locale=ru_RU" title="а?аОаИб?аК аВаИаДаЕаО YouTube"> <link rel="icon" href="http://s.ytimg.com/yt/favicon-refresh-vfldLzJxy.ico" type="image/x-icon"> <link rel="shortcut icon" href="http://s.ytimg.com/yt/favicon-refresh-vfldLzJxy.ico" type="image/x-icon"> <link rel="canonical" href="/watch?v=nnk4kioYe4A"> <link rel="alternate" media="handheld" href="http://m 
EOF;
$b = preg_match("#<title>([\S\s]+)<\/title>#i", $a, $c);

if($b){
    echo "Результат: " . $c[1];
}else{
    echo "Что-то ничего нет ☹";
}

Добавлено @ 10:40
не могу засунуть в теги кода, парсировщик ломается

Добавлено через 8 минут и 58 секунд
Цитата(krypt3r @  30.5.2012,  10:47 Найти цитируемый пост)
На кой выпендриваццо?
да без разницы

Автор: aleks2020 30.5.2012, 12:33
$text=file_get_contents('http://www.youtube.com/watch?v=bwpoOxWGnJQ');

не могу из $text выпарсить.

Автор: Evghenusi 30.5.2012, 13:35
полу-оффтоп  smile : в качестве дополнительного варианта решения задачи http://simplehtmldom.sourceforge.net/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)