如何使用 JavaScript 创建和使用语法高亮器?

javascriptweb developmentobject oriented programming

要创建和使用语法高亮器,代码如下−

示例

<!DOCTYPE html>
<html>
<head>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .colorLinks {
      color: rgb(131, 44, 212);
      text-decoration: none;
      font-size: 20px;
      font-weight: bold;
   }
   .setColor {
      margin: 20px;
      padding: 10px;
      border: none;
      font-size: 18px;
      background-color: rgb(226, 43, 89);
      color: white;
   }
</style>
</head>
<body>
<h1>Syntax Highlighting example</h1>
<div class="CodeDiv">
<a href="https://www.google.com">Go to google.com</a>
<a href="https://www.facebook.com">Go to facebook.com</a>
</div>
<button class="setColor" onclick="highlightLinks()">Click Here</button>
<h2>Click the above button to highlight the links</h2>
<script>
   var anchrorRg = /[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g;
   function highlightLinks() {
      var text = document.querySelector(".CodeDiv").innerHTML;
      text = text.replace(anchrorRg, function() {
         function check(arguments) {
            let tempArr = [];
            tempArr.push(Array.prototype.slice.call(arguments, 2, 4));
            return `<a class="colorLinks" href=${tempArr[0][0]}>${tempArr[0][1]}</a><br>`;
         }
         return check(arguments);
      });
      document.querySelector(".CodeDiv").innerHTML = text;
   }
</script>
</body>
</html>

输出

当窗口大小大于 700px − 时,上述代码将产生以下输出

单击"单击此处"按钮 −


相关文章