我有一个返回消息的服务。该消息可以是纯文本或html格式文本的组合。
ex1: "This is a message"
ex2: "<p> This is also a message <p/>"
ex3: "This is also a <strong> message </strong>"
我们想要做的是提出一个脚本,它将返回尽可能多的纯文本,直到第一个标记。所以在上面的例子中:
我不确定采用哪种方法最好。我可以使用Regex或JS来实现这一目标。我知道正则表达式可以轻松地在两个标签之间返回文本,但我正在寻找的是有点不同。提前感谢您的任何建议或帮助。
答案 0 :(得分:3)
最简单的解决方案是匹配除<
之外的任何内容,从字符串的开头开始:
match = subject.match(/^[^<]*/)[0];
如果在第一个HTML标记之前的评论/引用字符串中出现<
,则会失败,但这可能不是问题。
<强>解释强>
^ # Anchor the match to the start of the string.
[^<] # Match any character that's not a <
* # zero or more times (as many as possible).