如何一次性在所有 html 页面中用空格或 %20 替换  ?



你们能告诉我是否有办法删除网站所有 html 页面中所有 HREF 中的所有特殊字符和带有空格或"%20"的特殊字符吗?下面是我正在尝试但徒劳的代码片段

$(function(){
               var corruptedUrls = $("a[href*=' ']");
         for(var url in corruptedUrls)
         {
           var urlHref = url.attr("href");
           var modifiedUrlHref = urlHref.replace(" ", "%20");
           url.attr("href", modifiedUrlHref );
          }
      });

尝试使用 s 作为模式来匹配任何类型的空格。
+ 使用.each()循环通过元素
+ 使用/pattern/g进行全球replace()比赛

$(function() {
  var corruptedUrls = $("a[href*='u00a0']");
  corruptedUrls.each(function() {
    var urlHref = $(this).attr("href");
    var modifiedUrlHref = encodeURIComponent(urlHref.replace(/s/g, ' '));
    $(this).attr("href", modifiedUrlHref);
    $('#log').html(modifiedUrlHref);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="hello this is a url">a</a>
<a href="hello&nbsp;this&nbsp;is&nbsp;an&nbsp;other&nbsp;url">a</a>
<div>
result: <pre id="log"></pre>
</div>

最新更新