在谷歌修饰的前元素中保留 html 字符
Preserve html characters within google-prettified pre element?
我试图通过google-prettify
和一些jQuery将语法高亮添加到我的Tumblr博客中。
Google-prettify
要求 <pre>
元素具有一类prettyprint
才能突出显示语法,但由于我使用 markdown 来创建我的 Tumblr 帖子,因此我无法向我的 <pre>
元素添加类。
我的解决方案是使用此 jQuery 代码段将 prettyprint
类附加到 <pre>
元素:
<script type='text/javascript'>
$(document).ready(function() {
$('pre').addClass('prettyprint');
prettyPrint();
});
</script>
这工作正常,但我希望能够复制并粘贴我想在我的 Tumblr 上显示的代码,而不是每次我想发布代码片段时将所有<
转换为<
并>
转换为>
。
使用 jQuery,我想将所有<
和>
替换为相应的 html 代码,但仅限于 pre
元素。但是,这可能会有一些问题,因为它需要在代码美化之前替换所有这些问题。
我可以附加新类,替换标签,然后调用prettyPrint();
来初始化所有内容吗?还是我应该在发布代码之前手动将 html 字符更改为 html实体?
小更新:此脚本适用于更改<
和>
,除了<body>
、<html>
和<head>
...
<script type='text/javascript'>
$(function() {
var $pre = $('pre');
$pre.html($pre.html().replace(/</g, 'f').replace(/>/g, 'l'));
});
</script>
<pre>
<html></html>
<body></body>
<head><head>
<i></i>
</pre>
注意:我使用 f
作为替换只是为了测试代码。
如果先将所有与号替换为实体,然后替换小于号,则可以将返回的字符串用作<pre>
中的文本节点,或任何空格设置为"pre"的块容器。
function stripX(str){
return str.replace(/'&(?!('w+;))/g, '&').replace(/</g, '<');
}
相关文章:
- Jquery html() 和保留元素名称
- TinyMCE保留预定义的html结构
- 如何在页面刷新后保留动态创建的html元素及其数据/值
- HTML多页表单显示隐藏部分,保留表单数据
- 使用链接截断html中的文本以显示更多/更少并将元素保留在里面
- 在谷歌修饰的前元素中保留 html 字符
- 如何不保留 html 锚点的历史记录
- 将 HTML 文本内容拆分为组,同时保留 HTML 布局
- 如何从控制器保留 html 中的变量
- 打字机向后/删除保留html标记
- ASP.NET-回发后保留HTML元素的样式
- Jquery删除innertext,但保留html
- 在后退按钮上保留HTML表单输入启用状态
- 保留html代码段或者只使用javascript构建
- 截断文本,但在javascript中保留html
- 如何在保留HTML的同时截断元素的文本内容?
- 如何在文本区保留html新行
- 在Angular绑定中保留HTML文本框换行格式
- 在jsp困境中保留HTML选择选项
- 如何在javascript编辑后使用JQuery Mobile刷新/保留HTML格式