2017-10-17 8 views
-1

iframeタグ内にあるURLの一部であるIDを取得する必要があります。 私は、これは正規表現で行うことができますが、私は、私はいくつかの試みを行ったが、結果を得ることができなかったことで非常に良好ではないよ知っている、IFRAMEは、この(IDは変更になる場合があります)次のようになります。iframeタグ内のURLの一部を選択

<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe> 

そして、この正規表現は、ソース属性と一致する

ph57d6z9fa1349b 
+0

はこのやり過ぎですか? [https://3v4l.org/v01sD](https://3v4l.org/v01sD)。 xD – FirstOne

答えて

1

を閉じ、二重引用符が一致するまで属性

  • .+\/の開始は、URLのボディにマッチし一致しました文字列を正規表現で分割します。

    $re = '/\<iframe[^\>]+src\="(.+?)\/([A-Za-z0-9]+)"/'; 
    $str = '<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe>'; 
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); 
    
    // Print the entire match result 
    var_dump($matches); 
    

    あなたは( 'ph57d6z9fa1349b' のような)IDコードを一覧表示したい場合、あなたはこれを行うことができます。

    <?php 
    $re = '/\<iframe[^\>]+src\="(.+?)\/([A-Za-z0-9]+)"/'; 
    $str = '<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe>'; 
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); 
    
    foreach ($matches as $match) { 
        $id = $match[2]; // The required id code 
        echo $id;   // Echo it 
    } 
    ?> 
    
  • 0

    やグループで1
    src=".+\/(.+?)"

    • をごdesided IDを置く:私は取得したいと思いIDはこのことでしょう最初の部分src="は、最後のスラッシュ(貪欲)
    • (.+?)"があなたの(怠け者)idとすることができます属性
    関連する問題