Замена размеров у изображений.

Crank174RuS
Сообщения: 66
Зарегистрирован: 19 сен 2010
Есть поле добавление комментариев с BBcode.
Если туда вставить картинку (1920x1200), то при просмотре картинка выходит на весь сайт =\
Как сделать если к примеру у изображения ширина больше 640, то он делил ширину до тех пор, пока ширина изображения будет меньше или = 640?
Часть кода для вывода комментариев:

Код: Выделить всё

....
while($row=mysql_fetch_array($result)){
$search[] = "#\[img\](.*?)\[/img\]#si";
$replace[] = '<img src="\1" />';
$comm = preg_replace($search, $replace, $row['comm']);
echo $comm;
}

Аватара пользователя
Distructor
Администратор
Сообщения: 1603
Зарегистрирован: 28 дек 2009
Crank174RuS писал(а):$replace[] = '<img src="\1" />';

самый простой вариант:

Код: Выделить всё

$replace[] = '<img style="max-width: 640px" src="\1" />';

но в ie6 не будет работать.

p.s. по хорошему ссылку надо проверять на адекватность, чтобы xss не получить

Crank174RuS
Сообщения: 66
Зарегистрирован: 19 сен 2010
Distructor писал(а):самый простой вариант

Я имел ввиду как нибудь c помощью PHP

Аватара пользователя
Distructor
Администратор
Сообщения: 1603
Зарегистрирован: 28 дек 2009
Crank174RuS писал(а):Я имел ввиду как нибудь c помощью PHP
данный код отображает любую вставленную картинку по ссылке.

для ресайза на стороне сервера, надо ее сначала на сервер закачать.
итого либо переделывай логику (или сразу делай форму загрузки изображений, или скачивай файл по ссылке, обрабатывай и отдавай со своего сервера), либо используй код приведенный выше.


Вернуться в «Другие вопросы»