как скрыть quot и amp в простых поисках API YouTube javascript - PullRequest
0 голосов
/ 24 февраля 2020

нажмите здесь для изображения

Так что, как вы можете видеть на изображении, есть "и" в поиске, как я могу скрыть / удалить их? Я могу добавить поисковый код, если это необходимо.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

я получил помощь от кого-то, и они дали мне правильный способ сделать это

${[video2.title.replace(/&quot;/g, '‏‏‎"‎‎').replace(/&amp;/g, '&‎‎‎').replace(/&apos;/g, '‏‏‎\'').replace(/&gt;/g, '>‏‎"‎‎').replace(/&lt;/g, '<"‎‎')]}
0 голосов
/ 24 февраля 2020

Используйте регулярное выражение с String.replace, чтобы вы могли сделать жадную замену. Я включил небольшую библиотеку, которую вы можете использовать постоянно.

//<![CDATA[
/* js/external.js */
let get, post, doc, html, bod, nav, mobile, M, I, S, Q, special, unspecial; // for use on other loads
addEventListener('load', ()=>{
get = (url, success, context)=>{
  const x = new XMLHttpRequest;
  const c = context || x;
  x.open('GET', url);
  x.onload = ()=>{
    if(success)success.call(c, JSON.parse(x.responseText));
  }
  x.send();
}
post = (url, send, success, context)=>{
  const x = new XMLHttpRequest;
  const c = context || x;
  x.open('POST', url);
  x.onload = ()=>{
    if(success)success.call(c, JSON.parse(x.responseText));
  }
  if(typeof send === 'object' && send && !(send instanceof Array)){
    if(typeof FormData !== 'undefined' && send instanceof FormData){
      x.send(send);
    }
    else{
      let s, r = [];
      for(let p in send){
        s = send[p];
        if(typeof s === 'object')s = JSON.stringify(s);
        r.push(encodeURIComponent(p)+'='+encodeURIComponent(s));
      }
      x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); x.send(r.join('&'));
    }
  }
  else{
    throw new Error('send argument must be an Object');
  }
  return x;
}
doc = document; html = doc.documentElement; bod = doc.body;  nav = navigator;
mobile = nav.userAgent.match(/Mobi/i) ? true : false;
M = tag=>doc.createElement(tag); I = id=>doc.getElementById(id);
S = (selector, within)=>{
  var w = within || doc;
  return w.querySelector(selector);
}
Q = (selector, within)=>{
  var w = within || doc;
  return w.querySelectorAll(selector);
}
special = str=>str.replace(/&/g, '&amp;').replace(/'/g, '&apos;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
unspecial = str=>str.replace(/&amp;/g, '&').replace(/&apos;/g, "'").replace(/&quot;/g, '"').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
// here down to next comment should be on another page in a load Event
const spec = I('spec'), out = I('out');
let text = '&quot;I&apos;m Cool&quot;';
spec.textContent = text; out.textContent = unspecial(text);
// next comment - hope you had a good laugh
}); // end load
//]]>
/* css/external.css */
*{
  box-sizing:border-box; padding:0; margin:0;
}
html,body{
  width:100%; height:100%; background:#ccc;
}
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
  <head>
    <meta charset='UTF-8' /><meta name='viewport' content='width=device-width, height=device-height, initial-scale:1, user-scalable=no' />
    <title>Title Here</title>
    <link type='text/css' rel='stylesheet' href='css/external.css' />
    <script src='js/external.js'></script>
  </head>
<body>
  <div class='main'>
    <div id='spec'></div>
    <div id='out'></div>
  </div>
</body>
</html>
...