내 wordpress 사이트에 base64 시스템이있어 링크를 암호화합니다. 모든 작품은 매력과 같지만 대상 링크에서이 링크를 열려고합니다.인코딩 된 base64 링크에 대상 공백 추가
이 코드는 내 링크를 암호화하고 암호 해독합니다.
나는 이것을하는 방법을 모른다. "대상 _blank를 추가하는 당신에게 어떤 생각을합니까?
링크를 내 게시물에
<span class="lc" data="<?php echo cl(get_field(lien)); ?>" onclick="test()"> link </span></div>
내가 ACF 플러그인에 링크를 생성
JS
function btob(text) {
text = text.replace(/\s/g,""); if (!(/^[a-z0-9\+\/\s]+\={0,2}$/i.test(text)) || text.length % 4 > 0) { return text; }
var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/', cur, prev, digitNum, i=0, result = [], text = text.replace(/=/g, "");
while (i < text.length){
cur = digits.indexOf(text.charAt(i)); digitNum = i++ % 4;
switch (digitNum) {
case 1: result.push(String.fromCharCode(prev << 2 | cur >> 4)); break;
case 2: result.push(String.fromCharCode((prev & 0x0f) << 4 | cur >> 2)); break;
case 3: result.push(String.fromCharCode((prev & 3) << 6 | cur)); break;
}
prev = cur;
}
return result.join('');
}
function transformText() {
var s = document.getElementsByTagName('span');
for (i = 0; i < s.length; i++)
if ((s[i].className.indexOf('lc') != -1)) {
var lien = btob(s[i].getAttribute('data')).replace(/ajoutdunechainedecaractere/g,"");
var lnk = document.createElement('a');
lnk.href = lien;
lnk.innerHTML = s[i].innerHTML;
s[i].innerHTML = '';
s[i].appendChild(lnk);
if(s[i].hasAttribute("onclick")) {
//on récupère l'attribut onclick pour l'ajouter dans le lien
lnk.setAttribute('onclick', s[i].getAttribute('onclick'));
}
}
}
window.onload=transformText;
기능 PHP
// crypt
function cl($url) {
$taille = strlen($url);
$urlcode = "";
for ($i = 0; $i < $taille; $i++) {
if ($i % 2) {
$urlcode.= "ajoutdunechainedecaractere" . $url{$i};
} else {
$urlcode.= $url{$i};
}
}
return base64_encode($urlcode);
}