我的数据库中有一个新闻表,该表中有一个名为TheNews的列,其中包含带有文本的HTML标签。
我想选择第二个<p>
标签之间的文本。
例如,我有以下文字:
<p>Hello</p>
<p>The text that I want </p>
<p>other text</p>
我想在MySQL上使用SQL选择此文本“ 我想要的文本”。
我尝试使用此查询,但是我需要指定标记的顺序:
SELECT substring_index(substring_index(TheNews, '<p>', -1),
'</p>', 1)
FROM news;
答案 0 :(得分:2)
不确定这是否能在您遇到的每种情况下都有效,但我认为在这里适用:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX("<p>Hello</p>
<p>The text that I want </p>
<p>other text</p>", "</p>", 2), "<p>", -1)
如果mysql有适当的strtok
实现,那将是很好的。