0

div 内のテキストを PHP に置き換えようとしていますが、

18西メインストリート

テキストが19 West Main Street. だとしたら、別のものに変更されます。私は配列でこれをやろうとしましたが、うまくいきませんでした。

http://php.net/manual/en/function.array-replace.php、ifステートメントでこれを行う方法が見つからず、divタグから変更されたテキストを含めます。

4

2 に答える 2

4

次のようなものから始める必要があります。

<?php
$html = '<div>19 West Main Street</div><div>18 West Main Street</div>';

$doc = new DOMDocument();
$doc->loadHTML($html);

$xPath = new DOMXPath($doc);
$nodes = $xPath->query("//div[text() = '18 West Main Street']|//div[text() = '19 West Main Street']");

foreach ($nodes as $node) {
    if ($node->nodeValue == '18 West Main Street') {
        $node->nodeValue = 'Something';
    } else {
        $node->nodeValue = 'something else';
    }
}

echo $doc->saveHTML();

デモ: http://codepad.viper-7.com/V4ZMPT

divテキストですべての s を検索し19 / 18 West Main Street、「something (else)」に置き換えます。それがあなたが望むものでない場合、私はあなたの質問を完全には理解していません:)

または、テキストのみを置き換えたい場合は、次のように19 West Main Streetします。

<?php
$html = '<div>19 West Main Street</div>';

$doc = new DOMDocument();
$doc->loadHTML($html);

$xPath = new DOMXPath($doc);
$nodes = $xPath->query("//div[text() = '19 West Main Street']");

foreach ($nodes as $node) {
    $node->nodeValue = 'something else';
}

echo $doc->saveHTML();

デモ: http://codepad.viper-7.com/HeLk5i

于 2012-12-26T04:24:23.360 に答える