用Wordpress做下载站,需要复制网盘链接到后台的文章发布自定义字段,然后我不想每次手动拆分链接和提取码分别到两个input,就想在后台粘帖时候实现拆分它。
$link = '链接:https://pan.baidu.com/s/16y9Z5mTSE6gewStGDNndNQ
提取码:65nk
复制这段内容后打开百度网盘手机App,操作更方便哦';
$regex_link = '/(?<=链接:)[^\s]+/'; // 匹配"链接:"后面的非空白字符
$regex_code = '/(?<=提取码:)\w+/'; // 匹配"提取码:"后面的字母数字字符
if (preg_match($regex_link, $link, $match_link) &&
preg_match($regex_code, $link, $match_code)) {
echo "链接:{$match_link[0]}<br>";
echo "提取码:{$match_code[0]}";
} else {
echo "没有找到链接或提取码。";
}
当然,这是笔记,不是教程。我只是简单的实现一下思路。具体应用到网站上,还需要完善代码。
下面贴一下JS 用截取字符串 用分解百度云盘分享链接的提取码和链接的方法:
$(document).ready(function(){
// 百度网盘链接分解
var baiduStr = document.getElementById("baiduyun").value;
if (baiduStr!=''){
var baidutxtLen = baiduStr.length;
var baiduUrl_start = baiduStr.indexOf("http");
var baiduUrl_end = baiduStr.indexOf("提取码");
var baidupwd_start = baiduUrl_end + 4;
var baidupwd_end = baidupwd_start + 4;
var baiduUrl = baiduStr.slice(baiduUrl_start,baiduUrl_end);
var baiduPwd = baiduStr.slice(baidupwd_start,baidupwd_end);
document.getElementById('baiduUrl').href = baiduUrl;
document.getElementById("baiduPwd").innerHTML = baiduPwd;
document.getElementById("copy_baiduPwd").innerHTML = "点击复制百度提取码:"+baiduPwd;
}else{
document.getElementById("copy_baiduPwd").style.display = "none";
document.getElementById("baiduUrl").style.display="none";
}
}
第二种方法是在前端获取数据后实现的拆分。