我正在制作一个从wordpress调整图像大小的方法。
我需要从字符串中删除一个值,例如:
<img src="/path/img.jpg" width="600" height="400" />
我需要删除600和400值并将其放入我的函数中:
resiseImg($width, $height);
然后我将返回 width 和 height 并执行str_replace
。但是我不确定我将如何实际将它们从字符串中取出来,我猜一种丑陋的方式可能是执行字符串的某种形式的二进制搜索算法,除非没有其他的,否则我真的不想这样做选项。
答案 0 :(得分:3)
你应该避免使用RegEx来执行这项任务,因为你更关心的是从HTML中得到“有意义”的东西,一个属性,即你正在解析不匹配。对于这个DOMDocument应该是理想的选择。
$fragment = new DOMDocument();
$fragment->loadHTML( YOUR_HTML );
$image = $fragment->getElementsByTagName("iframe")->item(0);
print $image->getAttribute('width');
print $image->getAttribute('height');
答案 1 :(得分:-3)
php > $a = '<img src="blahh" width="600px" height="400px" />';
php > print preg_match_all('/[0-9]+/',$a,$res);
2
php > print_r($res);
Array
(
[0] => Array
(
[0] => 600
[1] => 400
)
)