Как получить изображение sr c (имя изображения) внутри спецификатора c TR в нескольких таблицах TR / TD (PHP) - PullRequest
0 голосов
/ 19 июня 2020

Как я могу получить SR C изображения внутри TR с TD, содержащим MainImage:

<tr>
<td>MainImage</td>
<td><img src="/img/mainimage.png"></td>
</tr>
<tr>
<td>Image1</td>
<td><img src="/img/image1.png"></td>
</tr>
<tr>
<td>Image2</td>
<td><img src="/img/image2.png"></td>
</tr>

Я пробовал это, но не работает:

$imgname = $xpath->query('//td[contains(., "MainImage")]/following-sibling::*[1]')->item(0);
echo $imgname;

Я хочу извлечь: mainimage.png или /img/mainimage.png

Заранее спасибо!

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете расширить выражение XPath. Это добавляет img, а также атрибут @src к выражению, это даст вам элемент DOMAttr, поэтому вы можете затем извлечь значение, используя textContent

$imgname = $xpath->query('//td[contains(., "MainImage")]/following-sibling::td[1]/img/@src')
    ->item(0)->textContent;
echo $imgname;

Вы также можете изменить его использовать evaluate и преобразовать этот узел в строку прямо в вашем XPath ...

$imgname = $xpath->evaluate('string(//td[contains(., "MainImage")]/following-sibling::td[1]/img/@src)');
echo $imgname;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...