Regex для замены ширины и высоты изображения в html-содержимом - PullRequest
0 голосов
/ 09 ноября 2011

Не могли бы вы сказать мне регулярное выражение, чтобы получить ширину и высоту изображения и заменить его на пользовательские ширину и высоту?

Например, он должен иметь возможность изменить это:

<img src="test.jpg" style="width:1024px; height:600px;" title="test" alt="test">

К этому:

<img src="test.jpg" style="width:600px; height:400px;" title="test" alt="test">

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Вы должны использовать PHP DOM, как сказано. Но если вам нужно регулярное выражение ... Это работает только тогда, когда атрибут <img> style написан именно так, как вы сообщили. Другой ввод может привести к неожиданным результатам !!!

$width = '320px';
$height = '240px';
$pattern = '/(<img [^>]*style="[^"]*)width:([0-9 ]+px)([^"]*)height:([0-9 ]+px)([^"]*)"/i';
$replace = '$1width:' . $width . '$3height:' . $height . '$5';
$outhtml = preg_replace($pattern, $replace, $yourhtml);
1 голос
/ 22 ноября 2011

Проще и безопаснее использовать модель PHP DOM для доступа к атрибутам HTML, чем использовать регулярное выражение.

...