0

動作していません。私はそれをあまりにも長く見てきたと思います、そして私は問題に盲目です:

<?php
$str = $_POST['data'];
$pattern = '#(www\.|https?:\/\/){?}[a-zA-Z0-9]{2,254}\.[a-zA-Z0-9]{2,4}(\S*)#i';
   if (preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER)) {
    $uri = "($matches[1])";
   }
$path = parse_url($uri, PHP_URL_PATH);
$output = substr(strrchr($path, '/'), 1);
?>

サンプル埋め込みコード - URL の a695c468 部分が必要です - 長さが変わる可能性があります:

<iframe id="viddler-a695c468" src="//www.viddler.com/embed/a695c468/?f=1&offset=0&autoplay=0&secret=91361932&disablebranding=0&view_secret=91361932" width="545" height="349" frameborder="0" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>

4

1 に答える 1

2

なぜ URL から解析するのですか? iframe id の方が速くなります。 preg_match_all('/"viddler-(\w+)"/', $str, $matches, PREG_PATTERN_ORDER);

更新:これを試してください preg_match_all('/www\.viddler\.com\/embed\/(\w+)\//', $str, $matches, PREG_PATTERN_ORDER);

于 2012-12-08T17:29:23.423 に答える