У меня есть эта структура html:
<html>
<body>
<section>
<div>
<div>
<section>
<div>
<table>
<tbody>
<tr></tr>
<tr>
<td></td>
<td></td>
<td>
<i></i>
<div class="first-div class-one">
<div class="second-div"> soft </div>
130 cm / 15cm
</div>
</td>
</tr>
<tr></tr>
</tbody>
</table>
</div>
</section>
</div>
</div>
</section>
</body>
</html>
Теперь у меня есть этот код XPath:
$doc = new DOMDocument();
@$doc->loadHtmlFile('http://www.whatever.com');
$doc->preserveWhiteSpace = false;
$xpath = new DOMXPath( $doc );
$nodelist = $xpath->query( '/html/body/section/div[2]/section/div/table/tbody/tr[2]/td[3]/div' );
foreach ( $nodelist as $node ) {
$result = $node->nodeValue."\n";
}
В результате я получаю «мягкие 130 см / 15 см».
Но я хочу знать, как получить только «15», поэтому мне нужно:
<сильный>1. Чтобы узнать, как избавиться от childNode->nodeValue
<сильный>2. Если у меня есть «130 см / 15 см», чтобы узнать, как получить только «15» в качестве значения узла переменной в PHP.
Вы можете помочь? заранее спасибо
nodeValue
— это просто текстовая строка. Работа DOM выполнена, когда у вас есть эта строка - вам нужно будет использовать стандартные строковые операции PHP (например, substr), чтобы манипулировать ею, а затем вставить измененную строку обратно в DOM. - person Marc B   schedule 01.02.2016130 cm /15cm
, и теперь вам нужно использовать стандартные операции со строками php, чтобы еще больше разбить ее. что означает, что технически ваш вопрос не имеет НИЧЕГО общего с dom. dom сделал свое дело, теперь вам нужны ДРУГИЕ инструменты. - person Marc B   schedule 01.02.2016