我有一个私人网站,我分享视频(和其他一些东西)。
我所取得的成就是preg_match_all()
它会自动找到链接并将带有HTML代码的视频粘贴到我的网站。
这是一个例子:
<?php
$matchwith = "http://videosite.com/id1 http://videosite.com/id2 http://videosite.com/id3";
preg_match_all('/videosite\.com\/(\w+)/i', $matchwith, $matches);
foreach($matches[1] as $value)
{
print '<a href="http://videosite.com/'.$value.'">Hyperlink</a>';
}
?>
这很有效。我知道这可能会更容易,但必须这样。
但我不知道这是怎么用两部电影的。这是一个例子:
$matchWith = "http://videosite.com/id1_movie1 http://videosite.com/id2_movie1"
"http://videosite.com/id3_movie2 http://videosite.com/id4_movie2";
http://videosite.com/(...)之后的所有内容都是唯一的。
我想要的是如果您在链接之前编写第1部分和第2部分(或其他),它会自动将其检测为此视频的第1部分和第2部分。
$ matchwith可能包含不同的电影。
答案 0 :(得分:1)
所以我相信这就是你所需要的:
<?php
$matchWith = "Movie 1 http://videosite.com/id1" . PHP_EOL .
"Movie 1 http://videosite.com/id2" . PHP_EOL .
"Movie 2 http://videosite.com/id3";
$arrLinks = array();
preg_match_all('%(.*)\shttp://videosite\.com/(\w+)\r{0,1}%', $matchWith, $result, PREG_SET_ORDER);
for ($matchi = 0; $matchi < count($result); $matchi++) {
$arrLinks[$result[$matchi][1]][] = $result[$matchi][2];
}
foreach ($arrLinks as $movieName => $arrMovieIds) {
print '<div>' . $movieName . '</div>';
foreach ($arrMovieIds as $movieId) {
print '<a href="http://videosite.com/'.$movieId.'">Hyperlink</a><br/>';
}
}
?>
答案 1 :(得分:0)
$matchwith = "Part 1 http://videosite.com/id1-1 Part2 http://videosite.com/id1-2";
preg_match_all('/videosite\.com\/(\w+-\d+)/i', $matchwith, $matches);
foreach($matches[1] as $value)
{
print '<a href="http://videosite.com/'.$value.'">Hyperlink</a>';
}