Замените содержимое класса, используя php - PullRequest
0 голосов
/ 18 июня 2020

Я хочу заменить строку из указанных c классов из HTML. В HTML есть другой контент, который я не хочу менять. В приведенном ниже коде вы хотите изменить данные только для классов 1 и 3, содержимое класса 2 должно быть таким, как есть. Мне нужно это динамически c способом.


<div class="one"> I want to change this </div> 
<div class="two"> I don't want to change this </div> 
<div class="three"> I want to change this </div> 

1 Ответ

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

Dom-функции полезны

php вручную

//your html file content
$str = '...<div class="one"> I want to change this </div>
<div class="two"> I don\'t want to change this </div>
<div class="three"> I want to change this </div>... ';

$dom = new DOMDocument();
$dom->loadHtml($str);

$domXpath = new DOMXPath($dom);

//query the nodes matched
$list = $domXpath->query('//div[@class!="two"]');
if ($list->length > 0) {
    foreach ($list as $node) {
        //change node value
        $node->nodeValue = 'Content changed!';
    }
}

//get the result
$new_str = $dom->saveHTML();

var_dump($new_str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...