简单 html dom 从属性获取内联背景图像 URL
simple html dom get in-line background-image URL from Attribute
我正在尝试使用简单 HTML DOM 从 HTML 属性获取 CSS 背景图像 URL。
这是代码
$String=' <div class="Wrapper"><i style="background-image: url(https://example.com/backgroud-1035.jpg);" class="uiMediaThumbImg"></i></div>';
$html = new simple_html_dom();
$html->load($String);
foreach($html->find('i') as $a0)
$src[$i++]=$a0->style;
foreach( $src as $css )
print($css);
输出是这样的:-
background-image: url(https://example.com/backgroud-1035.jpg);
我只想要从其余 CSS 标签中剥离背景 Url。像这样
https://example.com/backgroud-1035.jpg
您可以使用正则表达式去除括号之间的文本。
foreach($html->find('i') as $a0){
$style = $a0->style;
preg_match('/\(([^)]+)\)/', $style, $match);
$src[$i++] = $match[1];
//echo $match[1];
}
也许你找到了答案,但对于谁没有
我将使用 explode()
函数,这样我就可以将字符串分解为一个数组,
查看更多关于 explode()
函数 here 的信息。
首先,我将 $css 变量拆分为数组。数组是这样的:
background-image: url(https://example.com/backgroud-1035.jpg);"
Array ( [0] => background-image: [1] => https://example.com/backgroud-1035.jpg);
然后把['1']打散成数组,就变成这样
Array ( [0] => https://example.com/backgroud-1035.jpg [1] => ; )
然后打印 ['0'] .
// it will output https://example.com/backgroud-1035.jpg
完整代码:
$String=' <div class="Wrapper"><i style="background-image:
url(https://example.com/backgroud-1035.jpg);" class="uiMediaThumbImg"></i></div>';
$html = new simple_html_dom();
$html->load($String);
foreach($html->find('i') as $a0)
$src[$i++]=$a0->style;
foreach( $src as $css )
$explode1 = explode("url(",$css);
$explode2 = explode(")",$explode1['1']);
print_r ($explode2['0']);
我正在尝试使用简单 HTML DOM 从 HTML 属性获取 CSS 背景图像 URL。 这是代码
$String=' <div class="Wrapper"><i style="background-image: url(https://example.com/backgroud-1035.jpg);" class="uiMediaThumbImg"></i></div>';
$html = new simple_html_dom();
$html->load($String);
foreach($html->find('i') as $a0)
$src[$i++]=$a0->style;
foreach( $src as $css )
print($css);
输出是这样的:-
background-image: url(https://example.com/backgroud-1035.jpg);
我只想要从其余 CSS 标签中剥离背景 Url。像这样 https://example.com/backgroud-1035.jpg
您可以使用正则表达式去除括号之间的文本。
foreach($html->find('i') as $a0){
$style = $a0->style;
preg_match('/\(([^)]+)\)/', $style, $match);
$src[$i++] = $match[1];
//echo $match[1];
}
也许你找到了答案,但对于谁没有
我将使用 explode()
函数,这样我就可以将字符串分解为一个数组,
查看更多关于 explode()
函数 here 的信息。
首先,我将 $css 变量拆分为数组。数组是这样的:
background-image: url(https://example.com/backgroud-1035.jpg);"
Array ( [0] => background-image: [1] => https://example.com/backgroud-1035.jpg);
然后把['1']打散成数组,就变成这样
Array ( [0] => https://example.com/backgroud-1035.jpg [1] => ; )
然后打印 ['0'] .
// it will output https://example.com/backgroud-1035.jpg
完整代码:
$String=' <div class="Wrapper"><i style="background-image:
url(https://example.com/backgroud-1035.jpg);" class="uiMediaThumbImg"></i></div>';
$html = new simple_html_dom();
$html->load($String);
foreach($html->find('i') as $a0)
$src[$i++]=$a0->style;
foreach( $src as $css )
$explode1 = explode("url(",$css);
$explode2 = explode(")",$explode1['1']);
print_r ($explode2['0']);