mrMad-Cat Опубликовано 19 Марта 2007 Жалоба Поделиться Опубликовано 19 Марта 2007 Хм, поработал с системой и заметил что она глючит. Значит все ссылки с моего сайта даже в полном варианте написания отображаються нормально.А вот ссылки на эту тему к примеру выглядят так "index.php"А ссылка к примеру на http://my.ukrtelecom.ua/ так и отображается. Не порядок Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 19 Марта 2007 Автор Жалоба Поделиться Опубликовано 19 Марта 2007 это я тоже замечалнадо поковырять еще чуток, есть такой глюк, причем я не знаю, откуда Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Digy Опубликовано 6 Апреля 2007 Жалоба Поделиться Опубликовано 6 Апреля 2007 ArharКак насчет того, чтобы помимо title с сайта подсасывался favicon и вставлялся в ссылку? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 6 Апреля 2007 Автор Жалоба Поделиться Опубликовано 6 Апреля 2007 это уже сложно, тем более он есть только у процентов 30 сайтов Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mrMad-Cat Опубликовано 6 Апреля 2007 Жалоба Поделиться Опубликовано 6 Апреля 2007 Ну, так что с глюками? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 6 Апреля 2007 Автор Жалоба Поделиться Опубликовано 6 Апреля 2007 могут быть глюки с настройками сервера, не со скриптомпроверь, разрешены ли исходящие запросымогут быть закрыты какие-то порты Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Digy Опубликовано 6 Апреля 2007 Жалоба Поделиться Опубликовано 6 Апреля 2007 ArharМне кажется 30% не используют favicon. Если не меньше.Смотрелось бы эстетичней и интересней, а забрать его не сложнее чем тайтл.Но дело ваше, мое - предложить Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mrMad-Cat Опубликовано 6 Апреля 2007 Жалоба Поделиться Опубликовано 6 Апреля 2007 Arhar а где это проверить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Апреля 2007 Автор Жалоба Поделиться Опубликовано 7 Апреля 2007 у хостера спроситьу нас сервером занимается другой админ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Gogy Опубликовано 8 Апреля 2007 Жалоба Поделиться Опубликовано 8 Апреля 2007 У меня всё работает, если ссылаться на эту тему. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DezmASter Опубликовано 28 Апреля 2007 Жалоба Поделиться Опубликовано 28 Апреля 2007 Работает Спасибо большое, Arhar. Всё просто и удобно... 2.2.1. А идея с favicon хороша. "Если есть - отображать, если нет - не отображать" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Digy Опубликовано 4 Мая 2007 Жалоба Поделиться Опубликовано 4 Мая 2007 (изменено) Такой модуль (добавление favicon к ссылкам) реализован для CMS Drupal.http://drupal.org/project/urlicon Быть может это поможет.. Изменено 4 Мая 2007 пользователем Digy Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 4 Мая 2007 Автор Жалоба Поделиться Опубликовано 4 Мая 2007 не оченьтам как я понял урликон грузится в свою папку на своем сервереда и используется какая-то встроенная в дрюпал функция, не оглашенная в самом моде Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mrMad-Cat Опубликовано 14 Мая 2007 Жалоба Поделиться Опубликовано 14 Мая 2007 Это баги: Обрезание ссылок? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 15 Мая 2007 Автор Жалоба Поделиться Опубликовано 15 Мая 2007 сначала бы тут написал, а потом уже в паникутам стоит обрезание по длине до 60 символов (а что если титл будет длиной 5000 символов?) | безопасность++ никакие ббкоды КРОМЕ в полученном титле не обрабатываются (а стало быть и в твоем)решение[b][url=http://ya.ru]text[/url][/b] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AEC Опубликовано 18 Мая 2007 Жалоба Поделиться Опубликовано 18 Мая 2007 А ссылка к примеру на http://my.ukrtelecom.ua/ так и отображается. Не порядок а у меня на Укртелеком нормально отображается. вот как:Мій Укртелеком :: Система управління послугами зато к примеру ссылка _http://www.prezentation.ru/articles/opportunities_web_video_25_01_07_print.htmlотображается как 404 Not Found и даже при попытке вручную прописать правильное название "Как заработать на публикации видео" оно мне после отправки показывает Как зараб не понятно... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 18 Мая 2007 Автор Жалоба Поделиться Опубликовано 18 Мая 2007 попробуй длину урезания поставить больше 602 раза в строках$show = substr($show,0,59);вместо 59 соответственно нужную Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mrMad-Cat Опубликовано 18 Мая 2007 Жалоба Поделиться Опубликовано 18 Мая 2007 там стоит обрезание по длине до 60 символов (а что если титл будет длиной 5000 символов?) | безопасность++Практика показала что 60 мало. Иногда хочеться целое предложение сделать ссылкой. Тут даже 150 мало.никакие ббкоды КРОМЕ в полученном титле не обрабатываются (а стало быть и в твоем)Ну почему в чистом 2.2.2 обрабатываються все ббкоды и прекрасно работают? Ведь титл не всегда полученый. Я имею ввиду титлы, которые я сам пишу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 24 Июня 2007 Жалоба Поделиться Опубликовано 24 Июня 2007 Если кому интересно, вот адаптированый под 1.3х и доработаный//----------------------------------------- // Make sure it's a "proper" url //----------------------------------------- if ( ! preg_match( "/^(http|ftp|https|news):\/\//i", $url['show'] )) $skip_it = 1; $show = $url['show']; if ( stristr($show, $ibforums->base_url) ) { $match = array(); if ( preg_match("/showtopic=(\d+)/", $show, $match) or preg_match("/&t=(\d+)/", $show, $match) ) { $tid = intval($match[1]); if ( $tid ) { $res = $DB->query("SELECT title FROM ibf_topics WHERE tid='".$tid."'"); if ( $record = $DB->fetch_row($res) ) { if ( preg_match("~p=(\d+)~", $show, $match) or preg_match("~#entry(\d+)~", $show, $match) ) { $record['title'] .= " (сообщение #".$match[1].")"; } $show = $record['title']; } } } elseif ( preg_match("/showforum=(\d+)/", $show, $match) ) { $fid = intval($match[1]); $res = $DB->query("SELECT name FROM ibf_forums WHERE id='".$fid."'"); if ( $record = $DB->fetch_row($res) ) { $show = $record['name']; } } elseif ( preg_match("/showuser=(\d+)/", $show, $match) ) { $mid = intval($match[1]); if ( $mid ) { $res = $DB->query("SELECT name FROM ibf_members WHERE id='".$mid."'"); if ( $record = $DB->fetch_row($res) ) { $show = $record['name']; } } } else { if (( preg_match( "/^<img src/i", $show ) ) or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) ) { $show = stripslashes($show); } elseif (preg_match("#^(http|news|https|ftp|aim)://#", $show)) { $show = $this->get_url_title($show); } else $show = $url['show']; if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) )and(! preg_match( "/^<img style/i", $show ) )and(! preg_match( "/^<img width/i", $show ) ) ) { $show = substr($show,0,59); } } if (!$show)//if it is a file, it hasn't got title { $title = @parse_url($url['html']); $show = substr(strrchr($title['path'],"/"),1);//filename if (!$show)// and if there is no anything at this url { $show = $url['html']; } } } elseif ($skip_it != 1) { $stripped = preg_replace( "#^(http|ftp|https|news)://(\S+)$#i", "\\2", $url['show'] ); $uri_type = preg_replace( "#^(http|ftp|https|news)://(\S+)$#i", "\\1", $url['show'] ); $show = $uri_type.'://'.substr( $stripped , 0, 35 ).'...'.substr( $stripped , -15 ); } //get_url_title else { if (( preg_match( "/^<img src/i", $show ) )or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) ) { $show = stripslashes($show); } elseif (preg_match("#^(http|news|https|ftp|aim)://#", $show)) { $show = $this->get_url_title($show); } else $show = $url['show']; if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) )and(! preg_match( "/^<img style/i", $show ) )and(! preg_match( "/^<img width/i", $show ) ) ) { $show = substr($show,0,59); } } if (!$show)//if it is a file, it hasn't got title { $title = @parse_url($url['html']); $show = substr(strrchr($title['path'],"/"),1);//filename if (!$show)// and if there is no anything at this url { $show = $url['html']; } } return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; } function get_url_title($url) { $url = parse_url($url); if(!in_array($url['scheme'],array('','http'))) return; $fp = @fsockopen ($url['host'], ($url['port'] > 0 ? $url['port'] : 80), $errno, $errstr, 2); if (!$fp) { return; //echo "$errstr ($errno)<br>\n"; } else { fputs ($fp, "GET /".$url['path'].($url['query'] ? '?'.$url['query'] : '')." HTTP/1.0\r\nHost: ".$url['host']."\r\n\r\n"); $d = ''; while (!feof($fp)) { $d .= fgets ($fp,2048); if(preg_match('~(</head>|<body>|(<title>\s*(.*?)\s*</title>))~i', $d, $m)) break; } fclose ($fp); $m[3] = str_replace("("," ",$m[3]); $m[3] = str_replace(")"," ",$m[3]); $m[3] = addslashes($m[3]); return $m[3]; } }Доработка заключается в том что форумные ссылки типа (http://www.ibresource.ru/forums/index.php?s=&showtopic=11104&view=findpost&p=81339) будут отображаться как http://www.ibresource.ru/forums/index.php?...ost&p=81339 PS Как то странно у вас тэг URL обрабатывается... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Июня 2007 Автор Жалоба Поделиться Опубликовано 24 Июня 2007 потому что перепуталнадо[url=http://www.ibresource.ru/forums/index.php?s=&showtopic=11104&view=findpost&p=81339]Читабельные везде ссылки (сообщение #81339)[/url] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 24 Июня 2007 Жалоба Поделиться Опубликовано 24 Июня 2007 Если кому интересно, вот адаптированый под 1.3х и доработаныйМалость недоработанный:При вводе вполне "законного" в 1.х адреса http://сайт.ру/index.php?showtopic=702&view=getlastpostполучаем [url=http://сайт.ру/index.php?showtopic=702&view=getlastpost]index.php[/url]При вводе ссылки вида http://сайт.ру/index.php?showtopic=702получаем ссылку вида [url=http://сайт.ру/index.php?showtopic=702]Имя_борды -> название топика[/url]А нафига нам имя борды? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 26 Июня 2007 Жалоба Поделиться Опубликовано 26 Июня 2007 потому что перепуталКосяк При вводе вполне "законного" в 1.х адресаЭто легко исправить, добавив послеif ( preg_match("~p=(\d+)~", $show, $match) or preg_match("~#entry(\d+)~", $show, $match) ) { $record['title'] .= " (сообщение #".$match[1].")"; }условиеif ( preg_match("~getnewpost~", $show, $match) or preg_match("~getlastpost~", $show, $match) ) { $record['title'] .= " (Последнее сообщение)"; }Имя_борды -> название топикаЭто у тебя от старой модификации осталось, сотри полность старую, ту что на первой странице и поставь мою. У меня такая же фигня была. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 26 Июня 2007 Жалоба Поделиться Опубликовано 26 Июня 2007 Это у тебя от старой модификации осталось, сотри полность старую, ту что на первой странице и поставь мою. У меня такая же фигня была.Я не ставил старую.Я разобрался откуда засада.У меня этот мод вообще не отрабатывает, работает только функция get_url_title($url) - она ломится в интернет, и считывает тайтлы страниц... Я для пробы удалили все запросы и проверки в твоем коде до начала функции get_url_title($url), и ничего не изменилось.И имя борды, естественно совершенно, взяло из тайтла.А линк на профиль пользователя он преобразует в "Профиль пользователя"; я специально проверил, этот набор слов есть только в двух ленг-файлах, и твой код никак к ним не обращается... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 26 Июня 2007 Жалоба Поделиться Опубликовано 26 Июня 2007 Не знаю с чем это связано, но у тебя не выполняется условиеif ( stristr($show, $ibforums->base_url) ) {поэтому сразу переходит к else { if (( preg_match( "/^<img src/i", $show ) ) or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) ) { $show = stripslashes($show); } elseif (preg_match("#^(http|news|https|ftp|aim)://#", $show)) { $show = $this->get_url_title($show); }Вот тебе вся функция целеком уже с исправленым getlastpost с работающего форума /**************************************************/ // regex_build_url: Checks, and builds the a href // html /**************************************************/ function regex_build_url($url=array()) { global $ibforums, $DB; $skip_it = 0; // Make sure the last character isn't punctuation.. if it is, remove it and add it to the // end array if ( preg_match( "/([\.,\?]|!)$/", $url['html'], $match) ) { $url['end'] .= $match[1]; $url['html'] = preg_replace( "/([\.,\?]|!)$/", "", $url['html'] ); $url['show'] = preg_replace( "/([\.,\?]|!)$/", "", $url['show'] ); } // Make sure it's not being used in a closing code/quote/html or sql block if (preg_match( "/\[\/(html|quote|code|sql)/i", $url['html']) ) { return $url['html']; } // clean up the ampersands $url['html'] = str_replace( "&" , "&" , $url['html'] ); // Make sure we don't have a JS link $url['html'] = preg_replace( "/java script:/i", "java script: ", $url['html'] ); // Do we have http:// at the front? if ( ! preg_match("#^(http|news|https|ftp|aim)://#", $url['html'] ) ) { $url['html'] = 'http://'.$url['html']; } //------------------------- // Tidy up the viewable URL //------------------------- if (preg_match( "/^<img src/i", $url['show'] )) $skip_it = 1; $url['show'] = str_replace( "&" , "&" , $url['show'] ); $url['show'] = preg_replace( "/java script:/i", "java script: ", $url['show'] ); if ( (strlen($url['show']) -58 ) < 3 ) $skip_it = 1; //----------------------------------------- // Make sure it's a "proper" url //----------------------------------------- if ( ! preg_match( "/^(http|ftp|https|news):\/\//i", $url['show'] )) $skip_it = 1; $show = $url['show']; if ( stristr($show, $ibforums->base_url) ) { $match = array(); if ( preg_match("/showtopic=(\d+)/", $show, $match) or preg_match("/&t=(\d+)/", $show, $match) ) { $tid = intval($match[1]); if ( $tid ) { $res = $DB->query("SELECT title FROM ibf_topics WHERE tid='".$tid."'"); if ( $record = $DB->fetch_row($res) ) { if ( preg_match("~p=(\d+)~", $show, $match) or preg_match("~#entry(\d+)~", $show, $match) ) { $record['title'] .= " (сообщение #".$match[1].")"; } $show = $record['title']; } } } elseif ( preg_match("/showforum=(\d+)/", $show, $match) ) { $fid = intval($match[1]); $res = $DB->query("SELECT name FROM ibf_forums WHERE id='".$fid."'"); if ( $record = $DB->fetch_row($res) ) { $show = $record['name']; } } elseif ( preg_match("/showuser=(\d+)/", $show, $match) ) { $mid = intval($match[1]); if ( $mid ) { $res = $DB->query("SELECT name FROM ibf_members WHERE id='".$mid."'"); if ( $record = $DB->fetch_row($res) ) { $show = $record['name']; } } } else { if (( preg_match( "/^<img src/i", $show ) ) or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) ) { $show = stripslashes($show); } elseif (preg_match("#^(http|news|https|ftp|aim)://#", $show)) { $show = $this->get_url_title($show); } else $show = $url['show']; if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) )and(! preg_match( "/^<img style/i", $show ) )and(! preg_match( "/^<img width/i", $show ) ) ) { $show = substr($show,0,59); } } if (!$show)//if it is a file, it hasn't got title { $title = @parse_url($url['html']); $show = substr(strrchr($title['path'],"/"),1);//filename if (!$show)// and if there is no anything at this url { $show = $url['html']; } } } elseif ($skip_it != 1) { $stripped = preg_replace( "#^(http|ftp|https|news)://(\S+)$#i", "\\2", $url['show'] ); $uri_type = preg_replace( "#^(http|ftp|https|news)://(\S+)$#i", "\\1", $url['show'] ); $show = $uri_type.'://'.substr( $stripped , 0, 35 ).'...'.substr( $stripped , -15 ); } //get_url_title else { if (( preg_match( "/^<img src/i", $show ) )or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) ) { $show = stripslashes($show); } elseif (preg_match("#^(http|news|https|ftp|aim)://#", $show)) { $show = $this->get_url_title($show); } else $show = $url['show']; if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) )and(! preg_match( "/^<img style/i", $show ) )and(! preg_match( "/^<img width/i", $show ) ) ) { $show = substr($show,0,59); } } if (!$show)//if it is a file, it hasn't got title { $title = @parse_url($url['html']); $show = substr(strrchr($title['path'],"/"),1);//filename if (!$show)// and if there is no anything at this url { $show = $url['html']; } } return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; }Если не поможет, попробуй поэксперементить с этим кускомif ( stristr($show, $ibforums->base_url) ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
olmer2002 Опубликовано 24 Ноября 2007 Жалоба Поделиться Опубликовано 24 Ноября 2007 (изменено) линк http://ya.ru - нормya.ru - не парситhttp://microsoft.com - не парсит. а така Arhar мужик великий! Изменено 24 Ноября 2007 пользователем olmer2002 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.