使用脚本查找文本字符串,直到第一个html标记
Using script to find string of text up until first html tag
我有一个返回消息的服务。该消息可以是纯文本或html格式文本的组合。
ex1: "This is a message"
ex2: "<p> This is also a message <p/>"
ex3: "This is also a <strong> message </strong>"
我们想要做的是编写一个脚本,它将返回到第一个标记之前尽可能多的纯文本。在上面的例子中:
- 将返回"This is a message.
- 将返回"
- 将返回"This is also a"
我不确定什么方法是最好的。我可以用Regex或JS来完成这个吗?我知道Regex可以很容易地返回两个标签之间的文本,但我正在寻找的是有点不同。谢谢你的建议和帮助。
最简单的解决方案是匹配除<
s以外的任何内容,从字符串的开头开始:
match = subject.match(/^[^<]*/)[0];
如果<
s可能出现在第一个HTML标记之前的注释/引号字符串中,则会失败,但这可能不是问题。
测试JSFiddle
解释:
^ # Anchor the match to the start of the string.
[^<] # Match any character that's not a <
* # zero or more times (as many as possible).
相关文章:
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- 只获取HTML元素的第一个类
- 在ajax html返回中调用ajax会阻止第一个ajax脚本进一步工作
- 如果第二个 html 元素位于第一个 html 元素上方,如何移动该元素
- Meteor - #each 数组的迭代,每个第 n 项后插入另一个 HTML 元素
- 在 javascript 中创建第二个 html 元素会删除第一个
- 使用 javascript 和正则表达式删除 HTML 字符串中的第一个 img 标记
- html嵌套表通过单击表行第一个td来隐藏或显示表行
- 使用DOM从第二个HTML表中提取数据,忽略第一个表
- 使用jquery获取文本字段的第一个html下拉值
- 使用脚本查找文本字符串,直到第一个html标记
- 登录在第一个HTML自动重定向和登录到第二个HTML传递值从第一个HTML
- 从字符串列表中删除所有html标记,除了第一个
- 如何在jQuery中默认获取第一个HTML选项的值
- AngularJS,我的第一个html组件"widget"
- 获取第一个h1标题,并在新选项卡中打开
h1.html - 删除html文档中的第一个DIV标签
- 如何获得第一个的id
& lt; tbody>在HTML表格中使用jQuery - HTML中的TAB:默认选择第一个TAB
- HTML张贴数组只张贴第一个值