如何将此原始代码正确地放入 <pre> 标签?
How do I put this raw code to a <pre> tag properly?
我试图让用户输入一些文本,然后我 运行 更漂亮,然后向用户显示格式化代码。 My fiddle:
<pre id="mypre" style="background-color:grey"></pre>
var val = `"<!DOCTYPE html>\n
<html>
\n
<body>
\n
<h1>My First Heading</h1>
\n
<p>My first paragraph.</p>
\n\n
</body>
\n
</html>
"`;
$(document).ready(function(){
val = val.replace(/^"(.*)"$/, '');
val = val.replace(/(?:\r\n|\r|\n)/g, '');
$("#mypre").text(val);
});
请注意,返回的文本以文字 "
返回,我已尝试替换它们和 \n
字符但无济于事。我希望 pre 标签看起来像这样:
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
是的,正则表达式很有趣。这应该有效:
var val = `"<!DOCTYPE html>\n
<html>
\n
<body>
\n
<h1>My First Heading</h1>
\n
<p>My first paragraph.</p>
\n\n
</body>
\n
</html>
"`;
$(document).ready(function(){
val = val.replace(/^"([\s\S]*?)"$/, '');
val = val.replace(/\n{2,}/g, '');
$("#mypre").text(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<pre id="mypre" style="background-color:grey"></pre>
第一个正则表达式 ([\s\S]*?)
匹配多行的所有内容,\n{2,}
匹配两个或多个 \n
换行符。
我试图让用户输入一些文本,然后我 运行 更漂亮,然后向用户显示格式化代码。 My fiddle:
<pre id="mypre" style="background-color:grey"></pre>
var val = `"<!DOCTYPE html>\n
<html>
\n
<body>
\n
<h1>My First Heading</h1>
\n
<p>My first paragraph.</p>
\n\n
</body>
\n
</html>
"`;
$(document).ready(function(){
val = val.replace(/^"(.*)"$/, '');
val = val.replace(/(?:\r\n|\r|\n)/g, '');
$("#mypre").text(val);
});
请注意,返回的文本以文字 "
返回,我已尝试替换它们和 \n
字符但无济于事。我希望 pre 标签看起来像这样:
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
是的,正则表达式很有趣。这应该有效:
var val = `"<!DOCTYPE html>\n
<html>
\n
<body>
\n
<h1>My First Heading</h1>
\n
<p>My first paragraph.</p>
\n\n
</body>
\n
</html>
"`;
$(document).ready(function(){
val = val.replace(/^"([\s\S]*?)"$/, '');
val = val.replace(/\n{2,}/g, '');
$("#mypre").text(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<pre id="mypre" style="background-color:grey"></pre>
第一个正则表达式 ([\s\S]*?)
匹配多行的所有内容,\n{2,}
匹配两个或多个 \n
换行符。