如何将所有HTML标记从<anything>替换为\n<anything></anything>替换为<anything>\n

var text = "<anything>welcome</anything><anything>Hello</anything>";


结果

var text = "\n<anything>welcome</anything>\n\n<anything>Hello</anything>\n";


此代码将帮助您(匹配所有标签)

</?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>

最佳答案

尝试这个:

str.replace(/<(\/?)[a-zA-Z]+(?:[^>"']+|"[^"]*"|'[^']*')*>/g, function($0, $1) {
    return $1 === "/" ? $0+"\n" : "\n"+$0;
})

09-10 10:53
查看更多