我正在尝试创建一个表单,其中用户将他们的 youtube 代码插入到一个字段中,然后将其存储在 mysql 中。
当代码添加到此链接的末尾时 - //www.youtube.com/embed/[code here] - 它会显示视频。
我该怎么做才能使链接永久固定在 php 文档中,并从 mysql 检索结尾部分,以便在打开页面时正确显示视频?
当你知道如何做时非常简单的东西,但我不知道,如果有人能告诉我这样做的方法,我将不胜感激。
谢谢!尤金妮
我在自己的项目中这样做。当有人粘贴 YouTube 链接时,解析视频 ID 并将其存储。确保您处理所有现有的链接格式,YouTube 有一些。然后,当您去显示视频时,您可以使用数据库中的代码以任何您想要的方式设置嵌入标签。
exlode()
是您从 URL 中解析令牌的朋友。除非您真的需要,否则使用正则表达式很痛苦。
我假设您知道的足够多,可以实际存储和检索 YouTube ID。
试试explode
喜欢
$segments = explode('/', $MyUrl);
$cnt = count($segments);
echo $segments[$cnt-1];
我假设您需要存储路径的最后一部分。
<?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");
?>
输出将是这样的:
文件名.php
文件名
要拆分链接并获取插入代码:
$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
从数据库打印值,假设您已经对代码进行了查询,并且它存储在一个名为 $data 的数组中
$link = "http://www.youtube.com/embed/" . $data["code"];
echo $link;
最后一个答案让我走上了正轨。以下代码正确显示它:
<?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>";
}
?>