[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу написать регулярку
Frost-56
Добрый день, я еще толком не проснулся, не могу написать регулярное выражение.

Входная строка:

year|2015||imdb|||quality|||time|47 min.||zvuk|Deutsch | German||director|Vince Gilligan, Michelle MacLaren||actors|Bob Odenkirk, Jonathan Banks, Rhea Seehorn, Patrick Fabian, Michael Mando, 
Michael McKean||player1|https://oload.tv/embed/F5BHE_QQP1k/Better_Call_Saul_S01E01_Deutsch.mp4,https://oload.tv/embed/F5_QQP1k/Better_Call_Saul01_Deutsch.mp4


Как вытянуть ссылки после https://oload.tv/embed/(.*?) вместе с расширением и до запятой ?
Zzepish
Лови
Frost-56
Цитата (Zzepish @ 12.02.2018 - 15:20)
Лови

Спасибо огромное, и отдельное спасибо за сайт)
walerus
Зачем регулярка то?
$my_String = 'year|2015||imdb|||quality|||time|47 min.||zvuk|Deutsch | German||director|Vince Gilligan, Michelle MacLaren||actors|Bob Odenkirk, Jonathan Banks, Rhea Seehorn, Patrick Fabian, Michael Mando, 
Michael McKean||player1|https://oload.tv/embed/F5BHE_QQP1k/Better_Call_Saul_S01E01_Deutsch.mp4,https://oload.tv/embed/F5_QQP1k/Better_Call_Saul01_Deutsch.mp4'
;

$my_String = explode(',', $my_String);
// $my_String = explode('embed/', end($my_String)); // если нужно получить - F5_QQP1k/Better_Call_Saul01_Deutsch.mp4

echo end($my_String);
Результат:
https://oload.tv/embed/F5_QQP1k/Better_Call_Saul01_Deutsch.mp4
или если раскоментить сроку:
F5_QQP1k/Better_Call_Saul01_Deutsch.mp4
Zzepish
walerus
там 2 разные ссылки.
Можно сделать explode через "https://oload.tv/embed/". Потом через цикл проверять strpos ".mp4", и ну и trim
walerus
Zzepish
Да, ты прав, я был невнимателен, регулярка более удобна rolleyes.gif
Zzepish
walerus
wink.gif
Frost-56
Проблема появилась новая, вместо запятой между ссылками теперь ||playsers| как пропустить это? Вставлял вместо запятой, ошибки, экранировал даже, не помогает
Zzepish
Frost-56
Более универсальный вариант
Frost-56
Цитата (Zzepish @ 14.02.2018 - 19:20)
Frost-56
Более универсальный вариант

о как, спасибо
Frost-56
Не подскажете другой вариант, как сделать регулсрку для такой системы чтобы получить ссылки через запятую

Например ссылки:

https://openload.co/embed/V5h8ZI5oomM,https://openload.co/embed/ZAdR0s5X-aE,https://openload.co/embed/V5h8ZI5oomM


Пробовал такую регулярку:
https:\/\/(.*?)\/embed\/(.*?)[^\w]+/i

Тогда она не забирает знак "-" во второй ссылке и если в конце ссылки нету запятой тоже считает ошибкой
arbuzmaster
А зачем регулярка, можно же и без неё обойтись?
<?php

$urls_str = "https://openload.co/embed/V5h8ZI5oomM,https://openload.co/embed/ZAdR0s5X-aE,https://openload.co/embed/V5h8ZI5oomM";
$urls_arr = explode(",", $urls_str);
echo $urls_arr[0]; // https://openload.co/embed/V5h8ZI5oomM
echo $urls_arr[1]; // https://openload.co/embed/ZAdR0s5X-aE
echo $urls_arr[2]; // https://openload.co/embed/V5h8ZI5oomM
;)

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Frost-56
Цитата (arbuzmaster @ 2.05.2018 - 23:43)
А зачем регулярка, можно же и без неё обойтись?
<pre class="sh_sourceCode" rel="php"><span class="sh_keyword"><?php</span>

<span class="sh_variable">$urls_str</span>  <span class="sh_symbol">=</span> <span class="sh_string">"https://openload.co/embed/V5h8ZI5oomM,https://openload.co/embed/ZAdR0s5X-aE,https://openload.co/embed/V5h8ZI5oomM"</span><span class="sh_symbol">;</span>
<span class="sh_variable">$urls_arr</span> <span class="sh_symbol">=</span> <span class="sh_function">explode</span><span class="sh_symbol">(</span><span class="sh_string">","</span><span class="sh_symbol">,</span> <span class="sh_variable">$urls_str</span><span class="sh_symbol">);</span>
<span class="sh_function">echo</span> <span class="sh_variable">$urls_arr</span><span class="sh_symbol">[</span><span class="sh_number">0</span><span class="sh_symbol">];</span> <span class="sh_comment">// https://openload.co/embed/V5h8ZI5oomM</span>
<span class="sh_function">echo</span> <span class="sh_variable">$urls_arr</span><span class="sh_symbol">[</span><span class="sh_number">1</span><span class="sh_symbol">];</span> <span class="sh_comment">// https://openload.co/embed/ZAdR0s5X-aE</span>
<span class="sh_function">echo</span> <span class="sh_variable">$urls_arr</span><span class="sh_symbol">[</span><span class="sh_number">2</span><span class="sh_symbol">];</span> <span class="sh_comment">// https://openload.co/embed/V5h8ZI5oomM</span>
</pre> ;)

Забыл добавить полное поле))

year|2010||imdb|5||quality|HD||actors|Alanna Masterson, Andrew J. West, Andrew Lincoln, Chad Coleman, Chandler Riggs, Christian Serratos, Danai Gurira, David Morrissey, Emily Kinney, Jeffrey DeMunn, Jon Bernthal, Josh McDermitt, 
Lauren Cohan, Laurie Holden, Lawrence Gilliard Jr., Melissa McBride, Michael Cuditz, Michael Rooker, Norman Reedus, Sarah Wayne Callies, Scott Wilson, Seth Gilliam, Sonequa Martin-Green,
Steven Yeun||player1|https://openload.co/embed/V5h8ZI5oomM,https://openload.co/embed/ZAdR0s5X-aE,https://openload.co/embed/V5h8ZI5oomM


вот так идет текст и вот так парсится:

$zapros = mysqli_query($link, "SELECT * FROM dle_post WHERE id = '".$_REQUEST['newsid']."'");
$m = 0;
while ($row = mysqli_fetch_assoc($zapros)) {
preg_match_all('/https:\/\/(.*?)\/embed\/(.*?)[^\w]+/i', $row['xfields'], $stra);
echo '[xfgiven_player1]<iframe width="560" height="400" src="https://'.$stra['1'][0].'/embed/'.$stra['2'][0].'" id="ytplayer" frameborder="0" allowfullscreen></iframe>[/xfgiven_player1]';

for ($i=0; $i< count($stra[0]); $i++) {

$m++;
echo '<div onclick="fsrc(this.id);" data-film="https://'.$stra['1'][$i].'/embed/'.$stra['2'][$i].'" id="'.$m.'">Serien: '.$m.'</div>';
}
}

echo '</div>';
}
Быстрый ответ:

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