evrei 0 Опубликовано: 5 октября 2007 Рассказать Опубликовано: 5 октября 2007 можно зделать так как у форумов, чтоб если линк под то на них можно кликать и не надо каждый линк по одельности в вносить? надеюсь понятно Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 5 октября 2007 Рассказать Опубликовано: 5 октября 2007 Как это сделано в IPB Функция function regex_build_url($url=array()) { $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 / brackets //----------------------------------------- $url['html'] = str_replace( "&" , "&" , $url['html'] ); $url['html'] = str_replace( "[" , "%5b" , $url['html'] ); $url['html'] = str_replace( "]" , "%5d" , $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'] = preg_replace( "/&/" , "&" , $url['show'] ); $url['show'] = preg_replace( "/java script:/i", "javascript: ", $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 ($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 ); } return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end']; } из которой смело можно выкинуть кусок //----------------------------------------- // 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']; } Вызов функции: $txt = preg_replace( "#(^|\s)((http|https|news|ftp)://\w+[^\s\[\]]+)#ie" , "\$this->regex_build_url(array('html' => '\\2', 'show' => '\\2', 'st' => '\\1'))", $txt ); $this-> выкидываем и получаем готовый хак/мод (называйте как хотите) Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 5 октября 2007 Рассказать Опубликовано: 5 октября 2007 Автор мне в ДЛЕ надо Цитата Ссылка на сообщение Поделиться на других сайтах
Zavis 0 Опубликовано: 6 октября 2007 Рассказать Опубликовано: 6 октября 2007 да дайте норм чё куда вписывать плз Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 6 октября 2007 Рассказать Опубликовано: 6 октября 2007 evrei, это и есть для DLE Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 7 октября 2007 Рассказать Опубликовано: 7 октября 2007 Автор я понял, ну где искать то фаил в котором это переделать можно? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 7 октября 2007 Рассказать Опубликовано: 7 октября 2007 Вам автоматический парсинг линков вообще нужно или что? Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 8 октября 2007 Рассказать Опубликовано: 8 октября 2007 Автор я хочу чтобы если линк(и) под [quota] или [/b], то они были активными(можно кликать). а не как сейчас, где надо каждый линк под [b]My Webpage[/b] носить и название писать чтобы он "работал" Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 8 октября 2007 Рассказать Опубликовано: 8 октября 2007 А если линк не под [quota] или ? Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 8 октября 2007 Рассказать Опубликовано: 8 октября 2007 Автор эм. наверно чтобы под всем было? или нереально или опасно? просто если у тебя несколько линков то обычно их пехаеш под квоту или код. а вообще было бы классно если нецэго не надо добовлять просто внёс линк а он уже в парсинге Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 8 октября 2007 Рассказать Опубликовано: 8 октября 2007 evrei, вот! Как раз для этого и есть код вверху) Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 9 октября 2007 Рассказать Опубликовано: 9 октября 2007 Автор и всётаки доскажи как это зделать хотябы под [код]? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 9 октября 2007 Рассказать Опубликовано: 9 октября 2007 нет, я привёл решение, а дальше ты уж как-нибудь сам Цитата Ссылка на сообщение Поделиться на других сайтах
evrei 0 Опубликовано: 12 октября 2007 Рассказать Опубликовано: 12 октября 2007 Автор странный ты какойто, нафига вообшее отвечал? путного нечё недал. посты себе набиваеш? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 12 октября 2007 Рассказать Опубликовано: 12 октября 2007 evrei, посты мне абсолютно ничего не приносят. Я здесь для того, чтобы помогать и направлять ход мыслей в нужное русло и очень редко выкладываю готовый код. Если вам моя информация не помогла, что же тогда либо вам нужно покупать решение у программистов, либо разбираться самому или попросту отказаться от задумки. Других вариантов просто нет. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.