preg_match_all("/(?<=watch\?v\=)[\D0-9]{0,70}(?=\"\>)/",$page,$m);
нужно добавить:
если результат содержит слово title то вытаскиеваем, если нет то не вытаскиваем.
Спустя 28 минут, 47 секунд (9.02.2011 - 02:39) Invis1ble написал(а):
phpsc
Интересный подход....
Интересный подход....
Цитата |
нужно добавить |
Кому нужно? Добавь
Спустя 16 минут, 49 секунд (9.02.2011 - 02:56) phpsc написал(а):
Цитата (Invis1ble @ 8.02.2011 - 23:39) | ||
phpsc Интересный подход....
Кому нужно? Добавь |
:-(
это вопрос был, конечно же. Я уже все перепробовал и мануалы пееречитал.
Спустя 4 минуты, 12 секунд (9.02.2011 - 03:00) Invis1ble написал(а):
что-то мне подсказывает, что ты тут сильно перемудрил с регуляркой. Напиши, какие могут быть исходные данные и что в итоге ты хочеь получить, тогда будем думать.
Спустя 47 минут, 35 секунд (9.02.2011 - 03:48) phpsc написал(а):
с помощью моей регулярки получаем следующий массив:
Цитата |
[0] => dIOH8Trfas4" class="ux-thumb-wrap result-item-thumb [1] => dIOH8Trfas4" title="Britney Spears - My Prerogative [2] => DoP3C76ioTU" class="ux-thumb-wrap result-item-thumb [3] => DoP3C76ioTU" title="Britney Spears - Womanizer - Parody [4] => kHmvkRoEowc" class="ux-thumb-wrap result-item-thumb [5] => kHmvkRoEowc" title="LEAVE BRITNEY ALONE! [6] => rhCkfQ5nzaI" class="ux-thumb-wrap result-item-thumb [7] => rhCkfQ5nzaI" title="Womanizer- Britney Spears [8] => leRlViWiynU" class="ux-thumb-wrap result-item-thumb [9] => uCTFXrMmZB0" class="ux-thumb-wrap result-item-thumb [10] => 35c1knqjDsU" class="ux-thumb-wrap result-item-thumb [11] => aYywiQ3-6To" class="ux-thumb-wrap result-item-thumb [12] => aYywiQ3-6To" title="Pepsi - Britney Spears (Commercial) [13] => LefQdEMJP1I" class="ux-thumb-wrap result-item-thumb [14] => GJSm_QMO6zA" class="ux-thumb-wrap result-item-thumb [15] => GJSm_QMO6zA" title="Britney Spears - Hold It Against Me (Audio) [16] => IlV7RhT6zHs" class="ux-thumb-wrap result-item-thumb [17] => u-UJQGwzyxo" class="ux-thumb-wrap result-item-thumb [18] => u-UJQGwzyxo" title="Britney Spears Everytime Uncut (720p HD) [19] => baUx42qs1xU" class="ux-thumb-wrap result-item-thumb [20] => baUx42qs1xU" title="Letterman - Britney Spears Top Ten List [21] => jBMMc3QAWCs" class="ux-thumb-wrap result-item-thumb [22] => jBMMc3QAWCs" title="britney spears stoned [23] => tM2nZSVcmwY" class="ux-thumb-wrap result-item-thumb [24] => Zd6sVSWdJzs" class="ux-thumb-wrap result-item-thumb [25] => qUFu5bHjcAY" class="ux-thumb-wrap result-item-thumb [26] => qUFu5bHjcAY" title="Britney Spears-Radar [27] => 4Rc4aRoRaqY" class="ux-thumb-wrap result-item-thumb [28] => s25OMP4Ww6Y" class="ux-thumb-wrap result-item-thumb [29] => s25OMP4Ww6Y" title="Britney Spears - Boys [30] => W-qJaow1Kf0" class="ux-thumb-wrap result-item-thumb |
Нужно отобрать только те элементы в которых есть слово title.
Спустя 6 минут, 41 секунда (9.02.2011 - 03:54) inpost написал(а):
У тебя идёт общим, ты оставь всё как есть, разбей только на 2 части. А по центру добавь title
Спустя 17 минут, 15 секунд (9.02.2011 - 04:12) Invis1ble написал(а):
phpsc
а попробуй так:
а вобще, ты не показал текст, откуда ты все это выдираешь. Мне кажется, можно гораздо проще регулярку составить.
а попробуй так:
preg_match_all("/(?<=watch\?v\=)(?=.*?\" title=\".*?)[\D0-9]{0,70}(?=\"\>)/",$page,$m);
а вобще, ты не показал текст, откуда ты все это выдираешь. Мне кажется, можно гораздо проще регулярку составить.
Спустя 2 часа, 45 минут, 53 секунды (9.02.2011 - 06:58) phpsc написал(а):
preg_match_all("/(?<=watch\?v\=)[\D0-9]{0,70}(?=\"\>)/",$page,$m);
получаем:
[0] => dIOH8Trfas4" class="ux-thumb-wrap result-item-thumb
[1] => dIOH8Trfas4" title="Britney Spears - My Prerogative
[2] => DoP3C76ioTU" class="ux-thumb-wrap result-item-thumb
[3] => DoP3C76ioTU" title="Britney Spears - Womanizer - Parody
[4] => kHmvkRoEowc" class="ux-thumb-wrap result-item-thumb
[5] => kHmvkRoEowc" title="LEAVE BRITNEY ALONE!
[6] => rhCkfQ5nzaI" class="ux-thumb-wrap result-item-thumb
[7] => rhCkfQ5nzaI" title="Womanizer- Britney Spears
[8] => leRlViWiynU" class="ux-thumb-wrap result-item-thumb
[9] => uCTFXrMmZB0" class="ux-thumb-wrap result-item-thumb
[10] => 35c1knqjDsU" class="ux-thumb-wrap result-item-thumb
[11] => aYywiQ3-6To" class="ux-thumb-wrap result-item-thumb
[12] => aYywiQ3-6To" title="Pepsi - Britney Spears (Commercial)
[13] => LefQdEMJP1I" class="ux-thumb-wrap result-item-thumb
[14] => GJSm_QMO6zA" class="ux-thumb-wrap result-item-thumb
[15] => GJSm_QMO6zA" title="Britney Spears - Hold It Against Me (Audio)
[16] => IlV7RhT6zHs" class="ux-thumb-wrap result-item-thumb
[17] => u-UJQGwzyxo" class="ux-thumb-wrap result-item-thumb
[18] => u-UJQGwzyxo" title="Britney Spears Everytime Uncut (720p HD)
[19] => baUx42qs1xU" class="ux-thumb-wrap result-item-thumb
[20] => baUx42qs1xU" title="Letterman - Britney Spears Top Ten List
[21] => jBMMc3QAWCs" class="ux-thumb-wrap result-item-thumb
[22] => jBMMc3QAWCs" title="britney spears stoned
[23] => tM2nZSVcmwY" class="ux-thumb-wrap result-item-thumb
[24] => Zd6sVSWdJzs" class="ux-thumb-wrap result-item-thumb
[25] => qUFu5bHjcAY" class="ux-thumb-wrap result-item-thumb
[26] => qUFu5bHjcAY" title="Britney Spears-Radar
[27] => 4Rc4aRoRaqY" class="ux-thumb-wrap result-item-thumb
[28] => s25OMP4Ww6Y" class="ux-thumb-wrap result-item-thumb
[29] => s25OMP4Ww6Y" title="Britney Spears - Boys
[30] => W-qJaow1Kf0" class="ux-thumb-wrap result-item-thumb
А нужно получить только строки в которых есть title (посмотрите на результат). Или удалить строки в которых слово class).
Может это можно сделать дополнительным перебором массива и какой-либо функцией?
Спустя 44 минуты, 56 секунд (9.02.2011 - 07:42) Invis1ble написал(а):
не, ну я смотрю ты упорно не хочешь исходный текст показывать.... боишься чего? :D
Цитата |
Может это можно сделать дополнительным перебором массива и какой-либо функцией? |
preg_match_all("/(?<=watch\?v\=)[\D0-9]{0,70}(?=\"\>)/",$page,$ms);
foreach ($ms[0] as $k => $m)
if (!preg_match('#.*?" title=".*?#', $m))
unset($ms[0][$k]);
должно работать, если я конечно с индексами ниче не напутал )
Спустя 40 минут, 22 секунды (9.02.2011 - 08:23) phpsc написал(а):
Цитата (Invis1ble @ 9.02.2011 - 04:42) |
не, ну я смотрю ты упорно не хочешь исходный текст показывать.... боишься чего? :D |
)))
Добавил так:
$count=count($mas[0]);
for ($i=0;$i<$count;$i++){
if (strpos($mas[0][$i],"title")==true) $mas_result[]=$mas[0][$i];
}
echo "<pre>";
print_r($mas_result);
echo "</pre>";