ホームページ > バックエンド開発 > PHPチュートリアル > PHP正規表現を使用してコンテンツ内のビデオアドレスとタイトルを取得する方法

PHP正規表現を使用してコンテンツ内のビデオアドレスとタイトルを取得する方法

WBOY
リリース: 2016-06-23 13:43:46
オリジナル
1748 人が閲覧しました

たとえば、記事のコンテンツには次のリンク アドレスが含まれています。

これは mkv ビデオ テストです
これは mov ビデオです
これは swf ビデオ テストです ビデオ テスト
これは mp4 ビデオ テストです


正規表現を使用して次の結果を取得したいです:
array(
url => ; mkv_test.mkv,
title => これは mkv ビデオのテストです
)
array(
url => mov_test.mov,
title => これは mov ビデオのテストです
)
array(
url => ; swf_test.swf,
title = > これは swf ビデオ テストです )
……

正規表現の書き方を至急教えてください

ディスカッションへの返信 (解決策)
$s = <<< TXT<a href="mkv_test.mkv">这是mkv视频测试</a><a href="mov_test.mov">这是mov视频测试</a><a href="swf_test.swf">这是swf视频测试</a><a href="avi_test.avi">这是avi视频测试</a><a href="mp4_test.mp4">这是mp4视频测试</a>TXT;preg_match_all('/href="(.+)">(.+)</sU', $s, $m);$arr = array();foreach($m[1] as $k=>$v){    $arr[] = array('url'=>$v, 'title'=>$m[2][$k]);}print_r($arr);
ログイン後にコピー

$str = <<< mark<a href="mkv_test.mkv">这是mkv视频测试</a><a href="mov_test.mov">这是mov视频测试</a><a href="swf_test.swf">这是swf视频测试</a><a href="avi_test.avi">这是avi视频测试</a><a href="mp4_test.mp4">这是mp4视频测试</a>mark;$rule='#\<a href="(.*?)"\>(.*?)\<\/a>#';preg_match_all($rule,$str,$arr);$item=array();foreach($arr[1] as $k=>$v){  $item[]=array('url'=>$v,'title'=>$arr[2][$k]);}print_r($item);
ログイン後にコピー
ログイン後にコピー

Array(    [0] => Array        (            [url] => mkv_test.mkv            [title] => 这是mkv视频测试        )    [1] => Array        (            [url] => mov_test.mov            [title] => 这是mov视频测试        )    [2] => Array        (            [url] => swf_test.swf            [title] => 这是swf视频测试        )    [3] => Array        (            [url] => avi_test.avi            [title] => 这是avi视频测试        )    [4] => Array        (            [url] => mp4_test.mp4            [title] => 这是mp4视频测试        ))
ログイン後にコピー
ログイン後にコピー


$str = <<< mark<a href="mkv_test.mkv">这是mkv视频测试</a><a href="mov_test.mov">这是mov视频测试</a><a href="swf_test.swf">这是swf视频测试</a><a href="avi_test.avi">这是avi视频测试</a><a href="mp4_test.mp4">这是mp4视频测试</a>mark;$rule='#\<a href="(.*?)"\>(.*?)\<\/a>#';preg_match_all($rule,$str,$arr);$item=array();foreach($arr[1] as $k=>$v){  $item[]=array('url'=>$v,'title'=>$arr[2][$k]);}print_r($item);
ログイン後にコピー
ログイン後にコピー

Array(    [0] => Array        (            [url] => mkv_test.mkv            [title] => 这是mkv视频测试        )    [1] => Array        (            [url] => mov_test.mov            [title] => 这是mov视频测试        )    [2] => Array        (            [url] => swf_test.swf            [title] => 这是swf视频测试        )    [3] => Array        (            [url] => avi_test.avi            [title] => 这是avi视频测试        )    [4] => Array        (            [url] => mp4_test.mp4            [title] => 这是mp4视频测试        ))
ログイン後にコピー
ログイン後にコピー


素晴らしい回答をありがとう、問題は完全に解決されました

素晴らしい回答をありがとう、問題は完全に解決されました

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート