如何在php中显示一个url,哪个end部分存储在mysql中

时间:2013-08-17 10:22:10

标签: php mysql youtube

我试图创建一个表单,用户将其youtube代码插入到一个字段中,然后存储在mysql中。

将代码添加到此链接的末尾 - //www.youtube.com/embed/ [code here] - 它会显示视频。

我该怎么做才能在php文档中永久修复链接,并以一种打开页面时正确显示视频的方式从mysql中检索结束部分?

当你知道怎么做时非常简单,但我不会因为有人能告诉我这样做的方式而感激。

谢谢! 欧仁妮

5 个答案:

答案 0 :(得分:0)

我在自己的项目中这样做。当有人粘贴在YouTube链接中时,会解析视频ID并将其存储起来。确保您处理所有现有的链接格式,YouTube有一些。然后,当您开始显示视频时,您可以使用数据库中的代码以任何方式设置嵌入标签。

exlode()是您从URL解析令牌的朋友。除非你真的需要,否则使用正则表达式会很痛苦。

我会假设您足够了解实际存储和检索YouTube ID。

答案 1 :(得分:0)

尝试explode喜欢

$segments = explode('/', $MyUrl);
$cnt = count($segments);
echo $segments[$cnt-1];

答案 2 :(得分:0)

我假设你需要存储路径的最后一部分。

<?php
$path = " //www.youtube.com/embed/filename.php";

//Show filename with file extension
echo basename($path) ."<br/>";

//Show filename without file extension
echo basename($path,".php");
?> 

输出将是这样的:

filename.php

文件名

答案 3 :(得分:0)

拆分链接并获取插入代码:

$link = "http://www.youtube.com/embed/s0m3C0d3123";
$parts = explode("/", $link); // Split the URL into an array delimited by /
$code = $parts[count($parts)-1]; // Get the last value in the array 
// Insert $code into database

从DB打印值,假设您已经对代码进行了查询,并将其存储在名为$ data的数组中

$link = "http://www.youtube.com/embed/" . $data["code"];
echo $link;

答案 4 :(得分:0)

最后的回答让我走上正轨。以下代码正确显示:

<?php
$host="localhost"; // Host name 
$username="------"; // Mysql username 
$password="-----"; // Mysql password 
$db_name="----"; // Database name 
$tbl_name="-------"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");


$sql = "Select * from $tbl_name";
$result = mysql_query($sql) or die(mysql_error());


while($row = mysql_fetch_array( $result )) {

echo "<div align='center'><iframe src=\"//www.youtube.com/embed/" . $row['clip3'] . "\"     style=\"background: #fff;\" frameborder=\"0\" height=\"300\" scrolling=\"auto\" width=\"480\"></iframe>     </div>";

}


?>