Какое регулярное выражение мне нужно, чтобы найти строку в PHP? - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь найти строку:

sd_src: "https://video.fhyd6 -1.fna.fbcdn.net / v / t42.9040-2 / 10000000_2379299605422668_4104252399957311488_n.mp4? _Nc_cat = 1 & efgg= eyJybHIiOjY0OCwicmxhIjoyODQ5LCJ2ZW5jb2RlX3RhZyI6InN2ZV9zZCJ9 & ое = 648 & vabr = 360 & _nc_ht = video.fhyd6-1.fna & о = 2f555df6a07d18aa1f472d972dab0114 & ае = 5C80FCA5

1007 * в исходном коде ссылки https://www.facebook.com/PeinadosFacilesRapido/videos/399225660865821/ и для печати, что в PHP.

Посмотрите на код, который вы поймете:

<?php
$sourceurl = file_get_contents('https://www.facebook.com/PeinadosFacilesRapido/videos/399225660865821/');
preg_match('REGEXP', $sourceurl, $link);
echo $link;
?>

Каково регулярное выражение для поиска этой строки в исходном коде $ sourceurl?

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

Ваша ссылка не обязательно должна быть найдена регулярным выражением в вашем примере.

Вы можете сделать:

$sourceurl = file_get_contents('https://www.facebook.com/PeinadosFacilesRapido/videos/399225660865821/');

if ( stripos($sourceurl, $link))
{

    // do something
}
0 голосов
/ 07 марта 2019

Самый надежный способ - использовать анализатор HTML, но он должен работать:

<?php
    $sourceurl = file_get_contents('https://www.facebook.com/PeinadosFacilesRapido/videos/399225660865821/');

    preg_match('/sd_src:"(.*?)"/s', $sourceurl, $linkArray);

    $link = $linkArray[1];

    echo $link;
0 голосов
/ 07 марта 2019

Вы можете использовать:

preg_match('~'.preg_quote($string, '~').'~i', $sourceurl, $link);
...