【发布时间】:2022-02-04 00:38:41
【问题描述】:
我们有一些表单数据从我们的 CMS 流入我们的 CRM。 CRM 中捕获的数据包含这样的 HTML 元素。
<dl><dt>First Name:</dt><dd>Joe</dd>
<dt>Last Name:</dt><dd>Blogs</dd>
<dt>Personal Email:</dt>
<dd>joe.bloggs@exampleEmail.com</dd>
<dt>Most recent job title:</dt>
<dd>Manager</dd>
<dt> Level of membership you are applying for:</dt>
<dd>Full Member</dd>
我玩过子字符串,但只能得到名字。较短的名称与下一个字符串或较长的名称需要更多的字符长度。
substring(fieldname, 29, 15) as FirstName,
结果
- 乔(太长了)
- Anne-Mar(太短)
在特定文本之间是否有其他捕捉方式或方式?
【问题讨论】:
-
这能回答你的问题吗? Remove HTML tags from record
-
谢谢 - 不想删除标签本身只需要将每个问题和答案放在单独的列中。
-
这是可行的,但当你通过第二场时,它会变得非常复杂。
-
我找到了另一种方法,但它只工作了一半 substring_index(substring_index(content, 'First Name:
- ', -1),'
- Last Name :
- ', 1) 正确显示了名字的起始位置,但整个条目紧随其后。如果我选择稍后的问题,结果相同。
-
MySQL 不是进行 HTML 解析的地方。将数据读入您使用的任何语言,然后使用 HTML 解析器解析 HTML。你不想弄乱子字符串。从 HTML 中提取文本是一个已解决的问题。不要重新发明轮子。
标签: html mysql sql substring html-parsing