Извлечь путь из атрибута источника (src) в тег изображения HTML (img) - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь извлечь пути к изображениям из поля базы данных, которое содержит HTML.Данные в базе данных выглядят так:

<p><strong><strong>DISCUSSION POINT</strong>: Nearly how many years did it take Sir Francis Drake to complete the first circumnavigation of the globe in 1580?&nbsp;<br /><p><img id="lk45459gjh4" src="../mediaForExam/dlfkeiut8484034djjd222.png" alt="dlfkeiut8484034djjd222.png" width="697" height="352" /></p>

Из этой строки мне нужна только эта часть:

/ mediaForExam / dlfkeiut8484034djjd222.png

Я пробовал этот запрос:

SELECT RIGHT(questionText, (LEN(questionText)-PATINDEX ( '%SRC="%' , questionText )-5)) AS MediaPath FROM exams.history

, но он возвращает строку, подобную этой:

. / MediaForExam / dlfkeiut8484034djjd222.png "alt =" dlfkeiut8484034djjd222.png "width ="697" height = "352" />

Есть ли способ вернуть только первую косую черту, имя папки, а затем имя файла (то есть: /folderName/fileName.ext)

Спасибо!

1 Ответ

0 голосов
/ 15 февраля 2019

Я бы сделал:

select substring(hh.questionText, 1, charindex('"', hh.questionText) - 1)  as MediaPath 
from exams.history h cross apply
     ( values (stuff(questionText, 1, charindex('src=', questionText)+6, '')) 
     ) hh (questionText);
...