php html dom数组逐数组替换或preg_替换

tmb3ates  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(331)

我想将每个值数组替换为另一个键生成的数组。

  1. $html='
  2. <div class="col-md-4 wow fadeInUp" data-wow-delay="0.0s">
  3. <div class="price-item">
  4. <div class="price-header">
  5. <div class="price-title">
  6. <h2>Basic</h2>
  7. </div>
  8. <div class="price-prices">
  9. <h2><small>$</small>49<span>/ mo</span></h2>
  10. </div>
  11. </div>
  12. <div class="price-body">
  13. <div class="price-description">
  14. <ul>
  15. <li>Personal Trainer</li>
  16. <li>Special Class</li>
  17. <li>Free Tutorials</li>
  18. <li>Group Training</li>
  19. </ul>
  20. </div>
  21. </div>
  22. <div class="price-footer">
  23. <div class="price-action">
  24. <a class="btn" href="">Join Now</a>
  25. </div>
  26. </div>
  27. </div>
  28. </div>
  29. ';

这个HTMLDOM输入是每个解析器想要替换的循环键1,2,3。。。。

  1. $dom = new DOMDocument();
  2. $dom->loadHTML($html);
  3. $nodes = $dom->getElementsByTagName("*");
  4. foreach ($nodes as $key => $node ) {
  5. if(!empty($node->nodeValue))
  6. if ($node->tagName=='h1' || $node->tagName=='h2' || $node->tagName=='span' || $node->tagName=='small' || $node->tagName=='h3' || $node->tagName=='a' || $node->tagName=='p' || $node->tagName=='li'){
  7. $search[]=$node->nodeValue;
  8. $replace[]='$'.$key.'$';
  9. }
  10. }
  11. str_replace($search, $replace, $html);

输出将是两个阵列相互替换 Basic 进入 $1$$49/ mo 进入 $2$ ....

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题