下面这个php文本就可以一次性删除它!
<?php
// 数据库连接参数
$host = 'localhost';
$db = '数据库名称';
$user = '数据库用户名';
$pass = '数据库密码';
// 创建数据库连接
$mysqli = new mysqli($host, $user, $pass, $db);
// 检查连接是否成功
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
// 查询包含 [35]= 或 http 的记录 ,这里可以换成您中间的
$query = "SELECT vod_id, vod_reurl FROM ffdy_vod WHERE vod_reurl LIKE '%[35]=%' OR vod_reurl LIKE '%http%'";
$result = $mysqli->query($query);
// 检查查询是否成功
if ($result) {
while ($row = $result->fetch_assoc()) {
$vod_id = $row['vod_id'];
$vod_reurl = $row['vod_reurl'];
// 输出原始数据用于调试
echo "Original vod_reurl: " . $vod_reurl . "\n";
// 删除包含 http 或 https 的部分
$vod_reurl = preg_replace('/\bhttps?:\/\/[^\s,]+/', '', $vod_reurl);
// 删除 [35]=[任意数字] 的部分
$vod_reurl = preg_replace('/,\s*\[35\]=\[\d+\]|\[35\]=\[\d+\],?\s*/', '', $vod_reurl);
// 确保多余的逗号被清理
$vod_reurl = preg_replace('/,\s*,/', ',', $vod_reurl);
$vod_reurl = trim($vod_reurl, ',');
// 输出调试信息
echo "After cleaning: " . $vod_reurl . "\n";
// 更新数据库中的记录
$update_query = "UPDATE ffdy_vod SET vod_reurl = ? WHERE vod_id = ?";
$stmt = $mysqli->prepare($update_query);
$stmt->bind_param('si', $vod_reurl, $vod_id);
$stmt->execute();
}
// 释放结果集
$result->free();
} else {
echo 'Query Error: ' . $mysqli->error;
}
// 关闭数据库连接
$mysqli->close();
?>