好的,这可能是整个互联网,但我找不到解决方案,并一直在寻找和尝试不同的方式。
所以我到目前为止尝试的主要方式如下:
string:
<div data-image-id="344231" style="height: 399.333px; background-image: url("/website/view_image/344231/medium"); background-size: contain;"></div>
代码:
preg_match_all('/(style)=("[^"]*")/i', $value, $match);
preg_match('/background-image: url("(.*?)");/', $match[2][0], $match);
print_r($match);
我猜我不能用:
background-image: url("
和");
代替preg_match
有人可以给我一些关于我如何获得的指导:
"/website/view_image/344231/medium"
答案 0 :(得分:2)
如果您使用单引号作为背景图片网址而不是双引号,则可以使用DOMDocument并从div获取style属性。
然后使用tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def printData(lst):
colWidths = [0] * len(tableData)
for a in range(len(tableData)):
colWidths[a] = len(max(tableData[a], key=len))
for i in range(len(lst[0])):
output = ''
for j in range(len(lst)):
output += (str(lst[j][i])).rjust(colWidths[0])
print(output)
print(printData(tableData))
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
将返回一个数组,其中该数组的一项将是&#34; background-image:url(&#39; / website / view_image / 344231 / medium&#39;)& #34;
循环遍历数组并使用preg_match和正则表达式explode("; ")
之类的正则表达式,它将在组中捕获括号之间的内容。
如果存在正则表达式匹配,请存储该组中的值。
background-image: url\(([^)]+)\)
那会给你:
&#39; /网站/ view_image / 344231 /介质&#39;