如何将大量文本自动格式化为html?

时间:2019-06-14 00:23:14

标签: html css

我将在我的网站上发布一个博客。通常,我会在文字处理器中写入相当长的条目。我的网站具有自定义的html和css标记-例如,-div class =“ blog_post_para”-。

我将文本转储到.txt文档中(完成后将其另存为.html),但是将标签手动添加到每个段落和标题将非常缓慢且乏味。

有没有可用的工具可以自动在段落的开头和结尾处使用“ div”标签格式化段落。对于段p和/ p>标记也是如此。

我不想使用Dreamweaver之类的IDE。我只想格式化.txt文档或另存为.html的文本文档中的代码格式。

我可以将文字处理程序文档输出到html,但是所有样式都是内联的,并且它们与我网站上的自定义样式不匹配,因为文字处理程序不知道其名称。默认样式不起作用-我有自己的自定义CSS类。

还必须用#39代替撇号;并用破折号-

我打算以编程方式(在Python中)进行此操作,这可能是最自定义的解决方案,但需要一些时间。

有这样的工具吗?

3 个答案:

答案 0 :(得分:2)

既然这最终显示在网页上,为什么不使用JavaScript?一个非常简单的功能可以将纯文本转换为格式正确的标签,或者您想要的其他任何内容。例如:

function contentToHtml(text) {
  return text
    .split('\n\n')
    .map(paragraph => `<p>${paragraph}</p>`)
    .join('')
}

此功能假定您在分隔段落时两次按Enter键。它将接受您的文本并将每个段落包装在<p>标记中。

答案 1 :(得分:1)

您可能想研究Jekyll,它是一个静态网站生成器,我认为它非常适合您的要求,尤其是在发布博客时。

作为奖励,它与Github Pages很好地集成在一起,因此您可以免费托管。

https://help.github.com/en/articles/using-jekyll-as-a-static-site-generator-with-github-pages

答案 2 :(得分:1)

另一个JavaScript解决方案(点击“确定”):

JsFiddle demo

(function(){

let inp = document.getElementById('input');
let res = document.getElementById('result');
let ok  = document.getElementById('ok');
ok.addEventListener('click', function(){
  let open  = document.getElementById('open').value;
  let close = document.getElementById('close').value;
  let str = inp.value;

  // The main magic is going here:  .replace('something', 'with smth else')
  str = str.replace(/^(.)/gm, open + '$1')  //Match any non-empty (.) new line ^
           .replace(/(.)$/gm, '$1' + close);  // Any non-empty (.) line ending $.

  res.value = str;
});

})();
*{margin: 0;}
#input, #result {
  display: block;
  border: 3px solid orange;
  width: 500px; height: 80px;
  margin: 5px; outline: none;
}
#ok {
  padding: 2px 50px;
  outline: none;
  cursor: pointer;
  margin: 0 5px;
}
#open, #close {
  width: 200px; padding: 3px;
  border: 3px solid orange;
  margin: 5px; outline: none;
}
<input id="open" placeholder="Beginning tag..." value="<div>">
<input id="close" placeholder="End" value="</div>">
<textarea id="input" placeholder="Input Text...">Test
Test

Test</textarea>
<button id="ok">OK</button>
<textarea id="result"></textarea>

要自由修改此示例并替换任何文本部分,您必须了解正则表达式。会有所帮助:

regex101.com
regex cheat sheet