PHP with DOMXPath - 仅从节点值中选择多个字母/数字


PHP with DOMXPath - Select only a number of letters/numbers from a nodeValue

假设我们有一个nodeValue '92/100'或'some/all'

,或'92/100'和'some/all'(字母/数字周围有空格)。

例如:

<?php
$strhtml='
<div>
    <div>
        <p>92/100</p>
    </div>
    <div>
        <p>some/all</p>
    </div>
    <div>
        <p> 92 / 100</p>
    </div>
    <div>
        <p>some /all </p>
    </div>
</div>';
$doc = new DOMDocument();
@$doc->loadHtml($strhtml);
$doc->preserveWhiteSpace = false;
$xpath = new DOMXPath( $doc );
$nodelist = $xpath->query('//div/div/p[1]');
foreach( $nodelist as $node ) {
    $result = $node->nodeValue;
}
echo $result;

如何只选择"92"和/或"一些"?

谢谢。

这或多或少是你要求做的吗?重新运行/左侧的部分?

$strhtml='
<div>
    <div>
        <p>92/100</p>
    </div>
    <div>
        <p>some/all</p>
    </div>
    <div>
        <p> 92 / 100</p>
    </div>
    <div>
        <p>some /all </p>
    </div>
</div>';
$doc = new DOMDocument();
$doc->loadHtml($strhtml);
$doc->preserveWhiteSpace = false;
$xpath = new DOMXPath( $doc );
$nodelist = $xpath->query('//div/div/p[1]');
foreach( $nodelist as $node ) {
    list( $keep, $junk )=explode('/',$node->nodeValue );
    $result = trim( $keep );
}
echo $result;