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