dongshiru5913 2018-07-05 10:08
浏览 39
已采纳

是否有可能获得未包含在链接中的所有图像?

Is it possible to find all images which aren't wrapped in a link?

Example of content:

$content = 'Something <a href="/blog">Blog</a>, lorem ipsum 
<img class="wp-image-1234" src="http://www.website.com/img/image.jpg"> 
dolor sit amet 

<a href="/images"><img class="2344" src="http://www.website.com/img/image.jpg"> Images</a> ipsum dolor lorem 

<img class="aligncenter size-medium wp-image-3201" src="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg" alt="" srcset="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg 300w, http://www.website.com/wp-content/uploads/2018/07/image-18-768x512.jpg 768w, http://www.website.com/wp-content/uploads/2018/07/image-18-128x85.jpg 128w, http://www.website.com/wp-content/uploads/2018/07/image-18-375x250.jpg 375w, http://www.website.com/wp-content/uploads/2018/07/image-18.jpg 800w" sizes="(max-width: 300px) 100vw, 300px">

<a href="/image">
<img class="aligncenter size-medium wp-image-3200" src="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg" alt="" srcset="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg 300w, http://www.website.com/wp-content/uploads/2018/07/image-18-768x512.jpg 768w, http://www.website.com/wp-content/uploads/2018/07/image-18-128x85.jpg 128w, http://www.website.com/wp-content/uploads/2018/07/image-18-375x250.jpg 375w, http://www.website.com/wp-content/uploads/2018/07/image-18.jpg 800w" sizes="(max-width: 300px) 100vw, 300px">
</a>';

My intention is to manually wrap each image sith a new link, based on ID which I would extract from image class name "wp-image-xxxx" (Wordpress)

PHP language, here is template https://regexr.com/3s0jk

  • 写回答

1条回答 默认 最新

  • duanlv2788 2018-07-05 10:27
    关注

    With DOMDocument/DOMXPath:

    $doc = DOMDocument::loadHtml($content);
    $selector = new DOMXPath($doc);
    $query = '//img[not(parent::a)]';
    
    foreach($selector->query($query) as $node) {
        echo $node->getAttribute('src'), PHP_EOL;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 从Freecad中宏下载的DesignSPHysics,出现如下问题是什么原因导致的(语言-python)
  • ¥30 notepad++ 自定义代码补全提示
  • ¥15 MATLAB有限差分法解一维边值问题
  • ¥200 内网渗透测试 横向渗透 Windows漏洞 Windows权限维持
  • ¥15 数据结构图的相关代码实现
  • ¥15 python中aiohttp.client_exceptions.ContentTypeError
  • ¥30 DeepLung肺结节检测生成最大froc值对应的epoch报错
  • ¥15 信号发生器如何将频率调大,步尽值改成10
  • ¥15 keil 5 编程智能家具,风扇台灯开关,人体感应等
  • ¥100 找一名渗透方面的专家