Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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标记_Javascript_Regex_Replace - Fatal编程技术网

Javascript 使用正则表达式创建HTML标记

Javascript 使用正则表达式创建HTML标记,javascript,regex,replace,Javascript,Regex,Replace,我正在寻找一个javascript函数,它将能够: - point one - point two - point three 转换为HTML: <li>point one</li><li>point two</li><li>point three</li> 第一点第二点第三点 任何帮助都将不胜感激 假设您的输入是字符串(例如,“-第一点\n-第二点…”),您希望输出为字符串: 函数convertListItemsTo

我正在寻找一个javascript函数,它将能够:

- point one
- point two
- point three
转换为HTML:

<li>point one</li><li>point two</li><li>point three</li>
  • 第一点
  • 第二点
  • 第三点

  • 任何帮助都将不胜感激

    假设您的输入是字符串(例如,
    “-第一点\n-第二点…”
    ),您希望输出为字符串:

    函数convertListItemsToLitag(s){
    返回(“+s).替换(/^-\s*(.*?)\s*$/gm,函数(s,m1){
    返回“
  • ”+m1+”
  • ”; }); }
    通过删除不需要的位并插入适当的标记,可以将其转换为HTML字符串:

    var s = "- point one\n- point two\n- point three"
    
    // <li>point one<li>point two<li>point three
    var html = '<li>' + s.replace(/- /g,'').split('\n').join('<li>');
    
    var s=“-第一点\n-第二点\n-第三点”
    //
  • 第一点
  • 第二点
  • 第三点 var html='
  • '+s.replace(/-/g',).split('\n').join('
  • ');
  • 欢迎来到StackOverflow!请回顾一下并考虑编辑你的问题。具体来说,请包括有关您的问题的更多详细信息,特别是您为尝试解决问题而编写的示例代码,以及关于它不适用于您的原因的解释。将end更改为
    。join(“
  • ”)+”
  • 不需要LI结束标记,没有它们的标记是有效的,那么为什么要将它们放进去呢?很有趣。我本以为HTML需要一种更规则的语法,至少对于LI元素是这样。在任何情况下,这取决于OP是否想要结束标记(如他的示例中所示)。这是一个纯粹美的函数!谢谢-这是一种享受。不客气!如果你认为这个答案解决了你的问题,那么考虑按下它旁边的复选标记来表明这是“正确”的解决方案。