Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html之前-&;nbsp;M-BM-在web上突出显示bash脚本语法-删除字节序列0xc2 0xa0的ASCII表示形式_Javascript_Html_Bash_Pre - Fatal编程技术网

Javascript html之前-&;nbsp;M-BM-在web上突出显示bash脚本语法-删除字节序列0xc2 0xa0的ASCII表示形式

Javascript html之前-&;nbsp;M-BM-在web上突出显示bash脚本语法-删除字节序列0xc2 0xa0的ASCII表示形式,javascript,html,bash,pre,Javascript,Html,Bash,Pre,如果复制bash脚本(包含在 bash -n test.sh test.sh: line 2: syntax error near unexpected token `then' test.sh: line 2: `    if [ ! -z "$1" ]; then' 如果在脚本上使用cat-A命令,您将在输出中看到很多这样的内容: var textToCopy = ""; var i = 0; $(".code .container .line", elem.parent()).each(

如果复制bash脚本(包含在

bash -n test.sh
test.sh: line 2: syntax error near unexpected token `then'
test.sh: line 2: `    if [ ! -z "$1" ]; then'
如果在脚本上使用
cat-A
命令,您将在输出中看到很多这样的内容:

var textToCopy = "";
var i = 0;
$(".code .container .line", elem.parent()).each(function(e){
    if(i == 0){
        textToCopy += $(this).text();
    }else{
        textToCopy += "\n" + $(this).text();
    }
    i++;
});
$("textarea").val(textToCopy);
您可以使用
sed
(此处引用:)删除这些脚本,但我的问题是如何从浏览器复制脚本客户端,并将其保存,以便将
字符转换为Linux空格字符

有人知道吗?使用此jQuery代码段从
块中复制文本,在粘贴到浏览器中的
中时,也不会删除M-BM字符

<style>
.spaces { white-space: pre; }
</style>

<code class="bash spaces">    </code>
这似乎与行尾无关。如果手动下载原始批处理文件,脚本将正常工作,因为源代码中没有不间断的空格,但如果使用PHP的
echo file\u get\u contents(“文件”)将其加载到语法突出显示的
命令,
现在添加到脚本中

<code class="bash spaces">&nbsp;&nbsp;&nbsp;</code>

有人知道这个解决方案吗?

看起来它是多种因素的组合(包括不同的浏览器行为):

语法高亮脚本不应在代码部分使用
条目,因为它已经使用了以下CSS样式
空白:pre;
。因此,它应该如下所示:

textToCopy.replace(new RegExp(String.fromCharCode(160), "g"), " ");
不幸的是,这非常复杂,我希望Chrome在这种情况下能像Firefox一样,自动将
字符转换为Linux和Windows的实际空间。但由于它没有,我不得不以不同的方式处理它

textToCopy.replace(new RegExp(String.fromCharCode(160), "g"), " ");