2

なぜこれがうまくいかないのだろうと思っていました。私がやりたいことは、m4vファイルを取り除くことです。私のサイトの画像に対して同様のスクリプトを使用して、画像を削除し、ディレクトリとデータベースにアップロードしてリンクします。しかし、これを同じように機能させることはできません。ご協力いただきありがとうございます

<?php

include('simple_html_dom.php');

$html = file_get_html("http://www.mysitesvids.com/m/videos/view/36821");
$element = $html->find("file:");
$result = $element->innertext;

?>

これはサイトのコードです

<script type="text/javascript" language="javascript">
jwplayer ('embedFlashPlayer').setup         ({flashplayer:'/swf/jwplayer5.swf',id:'moviePlayer',width:602,height:404,
    file:'http://davesvideos.mysitevids.com/media/b0e9ec18eb567ce41dce906cee7e1c9f/4fcbb164/videos/m/634276.m4v',
image:'/media/80eb2eaca3c58f002be8ab5bda476e91/4fcbb164/videos/p/64/634276.jpg',
provider:'http',controlbar:'bottom',stretching:'uniform',abouttext:'mysite',aboutlink:'http://www.eroprofile.com/'});

glbUpdViews ('0','634276','0','0');
ajaxActive = false;
cmtLoad ('video', '634276', '', '');
ajaxActive = false;
cmtReply ('video', '634276', '0');


</script>
4

2 に答える 2

0

SimpleHtmlDom のドキュメントから、find()html 要素のみに一致するため、 を使用して 'file:' を検索することはできませんfind()。おそらくこれを実行できます。

$script = $html->find('script')->innertext

上の *.mv4 ファイルと一致するように正規表現を適用します$script

または、ファイルの内容に正規表現マッチングを直接適用することもできます。

于 2012-06-03T19:20:17.997 に答える
0

これは、正規表現を使用すると簡単に解決できます。

preg_match( "/file:'(.+?)'/", $html, $matches );

if ( $matches ) {
    echo $matches[1];
}

ページにこの文字列パターンの他のインスタンスがないことを前提としています。もしそうで、m4v のみを一致させたい場合は、式を変更してその拡張子を探すことができます。

preg_match( "/file:'(.+?\.m4v)'/", $html, $matches );

if ( $matches ) {
    echo $matches[1];
}
于 2012-06-03T19:32:46.960 に答える