Получить текст из БД после второго тега P <p>, используя SQL - PullRequest
0 голосов
/ 23 января 2019

В моей базе данных есть таблица новостей, в этой таблице есть столбец с именем TheNews, содержащий HTML-теги с текстом.

Я хочу выделить текст, расположенный между вторым тегом <p>.

например, у меня есть этот текст:

<p>Hello</p>
<p>The text that I want </p>
<p>other text</p>

Я хочу выделить этот текст ' Текст, который я хочу ', используя SQL на MySQL.

Я пытаюсь использовать этот запрос, но мне нужно указать порядок тегов:

SELECT substring_index(substring_index(TheNews, '<p>', -1),
                       '</p>', 1)
FROM news;

1 Ответ

0 голосов
/ 23 января 2019

Не уверен, сработает ли это в каждой ситуации, с которой вы сталкиваетесь, но, на мой взгляд, это работает:

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 реализация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...