ホームページ >バックエンド開発 >PHPチュートリアル >PHP正規表現を使用してコンテンツ内のビデオアドレスとタイトルを取得する方法
たとえば、記事のコンテンツには次のリンク アドレスが含まれています。
4bc8ece121e3198bd0445b2948b26ec4これは mkv ビデオ テストです5db79b134e9f6b82c0b36e0489ee08ed
0b103389b43027732eac11fff7d02ffeこれは mov ビデオです5db79b134e9f6b82c0b36e0489ee08ed
344f6452fea11bf31eb6928a2c48a4e0これは swf ビデオ テストです5db79b134e9f6b82c0b36e0489ee08ed b438648baff08addc90eaf819fb02533ビデオ テスト4a11e5928b3688cf38c9163b657eb5ac
8a211c903d700b58189f48d18cd03900これは mp4 ビデオ テストです5db79b134e9f6b82c0b36e0489ee08ed
正規表現を使用して次の結果を取得したいです:
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视频测试 ))
素晴らしい回答をありがとう、問題は完全に解決されました