用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"; }
}
第二種方法是在前端獲取數據后實現的拆分。