doutan5844 2011-06-12 09:39
浏览 16
已采纳

如何将数据从DOMDocument传递到regexp?

Using the following code I get "img" tags from some html and check them if they are covered with "a" tags. Later if current "img" tag is not part of the "a" ( hyperlink ) I want to do cover this img tag into "a" tag adding hyperlinks start ending tag plus setting to target. For this I want the whole "img" tags html to work with.

Question is how can I transfer "img" tags html into regexp. I need some php variable in regexp to work with the place is marked with ??? signs.

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

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {

if ($img->parentNode->tagName != "a") {

preg_match_all("|<img(.*)\/>|U", ??? , $matches, PREG_PATTERN_ORDER);

                                      }
                        }
  • 写回答

1条回答 默认 最新

  • drba1172 2011-06-12 10:00
    关注

    You do not want to use regex for this. You already have a DOM, so use it:

    foreach ($imgs as $img) {
      $container = $img->parentNode;
    
      if ($container->tagName != "a") { 
        $a = $doc->createElement("a");
        $a->appendChild( $img->cloneNode(true) );
        $container->replaceChild($a, $img);
      }
    }
    

    see documentation on

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计