我希望能够将youtube视频的简短网址输入到表单输入中,例如;
'http://youtu.be/rAndoMText'
并在'submit'执行处理表单的php文件中的三个函数:
取代:
'http://youtu.be/'
使用:
'<a class='youtube' href="http://www.youtube.com/embed/'
并添加:
'?rel=0&wmode=transparent">link</a>'
到新值的末尾
然后将最终值提交给数据库。
我当前的php文件在下面,它的'逻辑'是基于我对php的基本知识和在互联网上搜索解决方案,我不认为它是正确的。
它确实检查了在线语法检查器,并将其他表单输入发送到数据库,而不是我想要修改的那个。
<?php
$original_link = $_POST["link"];
$prepender = "<a class='youtube' href=\"http://www.youtube.com/embed/\"";
$appender = "?rel=0&wmode=transparent\">link</a>";
$modified_link = str_replace ("http://youtu.be/","$prepender","$original_link");
$modified_link . "" . $appender = $final_value;
$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$sql="INSERT INTO data (fieldone, fieldtwo, fieldthree, fieldfour, link)
VALUES
('$_POST[fieldone]','$_POST[fieldtwo]','$_POST[fieldthree]','$_POST[fieldfour]',
'$final_value')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
header ('Location: http://return-to-your-website.com');
mysql_close($con);
?>
我也尝试在上面的'modified_link'区域中使用它,但它返回了相同的结果:
$modified_link = "";
ob_start ();
{
echo str_replace ("http://youtu.be/","$prepender","$original_link");
$modified_link = "ob_get_contents ()";
}
ob_end_clean ();
$modified_link . "" . $appender = $final_value;
谢谢你。
答案 0 :(得分:2)
以下代码将为您提供所需的链接:
$link_provided_by_user = 'http://youtu.be/rAndoMText';
$random_text = array_pop(explode('/',$link_provided_by_user)); // get the text after the last slash
$link_you_want = '<a class=\'youtube\' href="http://www.youtube.com/embed/'.$random_text.'?rel=0&wmode=transparent">link</a>';
echo $link_you_want; // ex: <a class='youtube' href="http://www.youtube.com/embed/rAndoMText?rel=0&wmode=transparent">link</a>
答案 1 :(得分:0)
您可以找到有用的类似问题here的答案,有很多方法可以获得您想要的结果