gpt4 book ai didi

PHP:在存储到 MySQL 数据库之前剥离链接(正则表达式剥离?)

转载 作者:行者123 更新时间:2023-11-30 01:21:45 24 4
gpt4 key购买 nike

PHP 新手,所以我仍在学习如何做某些事情。我正在尝试将 Youtube 链接存储到我的数据库中。我使用的代码是有效的,并将我的表单毫无问题地存储到数据库中。

我的问题:我不想存储整个 YouTube 链接,而只想存储链接的 ID。

例如:我将此链接输入到我的表单输入中: http://www.youtube.com/watch?v=sIkhewd69SE 我唯一想存储的是: sIkewd69SE

这是因为我想稍后将条目嵌入到其他页面中。

这是表单的HTML:

<form action="uploadcomplete.php" method="post">
<table cellspacing="20">
<tr>
<td>Paste a Youtube link:</td>
<td><input size="50%" id="link" class="form-text" name="link"type="text"/></td>
</tr>
<tr>
<td>Enter the title:</td>
<td><input size="30%" id="title" class="form-text" name="title" type="text"/></td>
</tr>
<tr>
<td>Enter the artist:</td>
<td><input size="30%" id="artist" class="form-text" name="artist" type="text"/></td>
</tr>

<tr>
<td></td>
<td><input id="submit" class="submit" type="submit" name="submit" value="Upload!" /></td>

</tr></table>
</form>

这里是表单调用的 PHP 函数 (UPLOAD COMPLETE.PHP):

$errors = array()

if (isset($_POST['link']) && isset($_POST['title']) && isset($_POST['artist'])) {
if (strlen($_POST['link'])<3) $errors[] = 'Uw naam moet minstens 3 letters bevatten';
if (strlen($_POST['title'])<6) $errors[] = 'De naam van uw bedrijf moet minstens 3 letters bevatten';
if (strlen($_POST['artist'])<6) $errors[] = 'Uw nummer moet minstens 9 nummers bevatten';

if(count($errors)<1) {
$conn = new mysqli('localhost', 'root', '', 'silentbeats');

if (mysqli_connect_errno()) {
exit('Connectie gefaald: '. mysqli_connect_error());
}

$adds['link'] = $conn->real_escape_string($_POST['link']);
$adds['title'] = $conn->real_escape_string($_POST['title']);
$adds['artist'] = $conn->real_escape_string($_POST['artist']);

$sql = "INSERT INTO `tbltracks` (`link`, `title`, `artist`)
VALUES ('". $adds['link']. "', '". $adds['title']. "', '". $adds['artist']. "')";

if ($conn->query($sql) === TRUE) {
echo 'Uw gegevens werden opgeslagen, bedankt!';
echo "<br /><a href='LP_general.php'>Terug naar de hoofdpagina</a>";
}
else {
echo 'Error: '. $conn->error;
}

$conn->close();
}
else {
echo "<script>alert('".implode("\\n", $errors)."');</script>";
echo "<script>window.location='upload.php'</script>";
}
}
else {
echo 'Geen data ontvangen van formulier';
}
?>

如何仅存储此 ID 标签?任何帮助将不胜感激,我真的陷入了这个困境。

最佳答案

即使您的网址中有更多参数,这也应该满足您的要求:

$ytLink = 'http://www.youtube.com/watch?v=sIkhewd69SE';
$ytId = preg_replace('/^.+v=(\w+)&*.*$/', '$1', $ytLink);
echo $ytId;

关于PHP:在存储到 MySQL 数据库之前剥离链接(正则表达式剥离?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18454464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com