使用Simple HTML Dom php库

时间:2017-07-19 21:09:55

标签: php simple-html-dom

我对php完全不熟悉,而且我很难更改img标签的src属性。 我有一个网站,使用Simple Html Dom php拉取页面的一部分,这里是代码:

<?php

include_once('simple_html_dom.php');

$html = file_get_html('http://www.tabuademares.com/br/bahia/morro-de-sao-paulo');

foreach($html ->find('img') as $item) {
    $item->outertext = '';
    }

$html->save();

$elem = $html->find('table[id=tabla_mareas]', 0);
echo $elem;

?>

此代码正确返回我想要的页面部分。但是当我这样做时,img标签附带原始页面的src:/assets/svg/icon_name.svg

我想要做的是更改原始src,使其如下所示:http://www.mywebsite.com/wp-content/themes/mytheme/assets/svg/icon_name.svg 我想将我网站的网址放在assets / svg / icon_name.svg前面 我已经尝试了一些教程,但我无法做任何工作。

有人可以在php中帮助一个菜鸟吗?

2 个答案:

答案 0 :(得分:2)

我可以让它发挥作用。因此,如果有人有同样的问题,这就是我设法让代码工作的方式。

<?php

// Note you must download the php files simple_html_dom.php from 
// this link https://sourceforge.net/projects/simplehtmldom/files/

//than include them
include_once('simple_html_dom.php');

//target the website
$html = file_get_html('http://the_target_website.com');

//loop thru all images of the html dom
foreach($html ->find('img') as $item) {

// Get a attribute ( If the attribute is non-value attribute (eg. checked, selected...), it will returns true or false)

        $value = $item->src;

        // Set a attribute

        $item->src = 'http://yourwebsite.com/'.$value;
    }
//save the variable
$html->save();

//findo on html the div you want to get the content
$elem = $html->find('div[id=container]', 0);

//output it using echo
echo $elem;

?>

就是这样!

答案 1 :(得分:-1)

您是否阅读了文档for read and modify attributes 按照那个

// Get a attribute ( If the attribute is non-value attribute (eg. checked, selected...), it will returns true or false)
$value = $e->href;

// Set a attribute
$e->href = 'ursitename'.$value;