накладка 2х функций - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sat, 11 Jan 2025 16:05:17 +0300все еще актуально
https://visavi.net/topics/27562/465965
накладка 2х функций ensteyn-asenWed, 21 Dec 2011 02:42:09 +0400Сообщенияhttps://visavi.net/topics/27562/465965неужели никто не знает ?
https://visavi.net/topics/27562/465018
накладка 2х функций ensteyn-asenMon, 19 Dec 2011 02:32:12 +0400Сообщенияhttps://visavi.net/topics/27562/465018обработка изображений<br>
<pre class="prettyprint">
function img_replaces($img) {
$size = getimagesize($img[1]);
if (in_array(strtolower(substr($img[1] , 1 + strrpos($img[1] , '.'))) , array('gif', 'jpg', 'png', 'jpeg', 'bmp')))
{
$ratio = ($size[1] < 100 && $size[0] > 300) ? $size[0]/350 : $size[0]/150;
echo '<center><hr size="3" color="darkgray" noshade><a href="' . $img[1] . '"><img src="' . $img[1] . '" width="'.ceil($size[0]/$ratio).'" height="'.ceil($size[1]/$ratio).'" alt="' . $img[2] . '"></a><br><a href="' . $img[1] . '">Скачать</a> ['.$size[0].'x'.$size[1].']</a></center>';
}
else
{
echo '<center><hr><img src="../images/system/noimg.jpg" alt="Нет изображения"><br>' . $img[1] . '<br></center>';
}
unset($img , $size , $ratio);
}</pre>
<br>
ссылка обрабатывается в виде обычной ссылки в тексте и в виде ББ-кода [url=http://]NAME[/url]<br>
изображение обрабатывается в виде ББ-кода [img=http://]NAME[/img]<br>
<br>
ссылки и изображения ищутся регулярными выражениями<br>
сообщение обрабатывается этой функцией на выводе на экран<br>
<pre class="prettyprint">
function come_text($message){
$message = preg_replace_callback('~\\[img=(http://.+?)\\](.+?)\\[/img\\]~', 'img_replaces', $message);
$message = preg_replace_callback('~\\[img\\](http://.+?)\\](.+?)\\[/img\\]~', 'img_replaces', $message);
$message = preg_replace_callback('~\\[url=(http://.+?)\\](.+?)\\[/url\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $message);
$message = preg_replace_callback('~\\[url=(https://.+?)\\](.+?)\\[/url\\]|(https://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $message);
return $message;
}</pre>
<br>
если изображение выводится на екран через ECHO ''; то все хорошо (но мне это плохо, ибо json не понимает echo ) то все выводится хорошо (кроме тех мест где вывод через json)<br>
<br>
а если сделать вывод изображения через return , то ссылка на изображение будет обрабатываться функцией url_replace() и вывод изображения становится невозможным<br>
<br>
помогите решить это проблему
https://visavi.net/topics/27562/464990
накладка 2х функций ensteyn-asenMon, 19 Dec 2011 01:05:21 +0400Сообщенияhttps://visavi.net/topics/27562/464990есть 2 функции:<br>
<br>
1я - обрабатывает ссылки в тексте, чтоб они были кликабельны<br>
2я - обрабатывает изображение, чтоб оно отображалось в сообщении<br>
<br>
а вот и они<br>
<br>
обработка ссылок<br>
<pre class="prettyprint">
function url_replace($url) {
if(empty($url[3]) )
{
return '<a href="' . $url[1] . '">' . $url[2] . '</a>';
}
else
{
return '<a href="' . $url[3] . '">' . $url[3] . '</a>';
}
unset($url);
}</pre>
https://visavi.net/topics/27562/464989
накладка 2х функций ensteyn-asenMon, 19 Dec 2011 01:05:14 +0400Сообщенияhttps://visavi.net/topics/27562/464989