Забыли пароль?
Запросите новый здесь.

Автор темы: Kaoru
ID темы: 677
Информация:
Тема содержит 9 сообщения, была просмотрена 2557 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Вопросы новичков
 Распечатать тему
Сокращённые ссылки для веб ссылок и картинок через ББ коды
Kaoru
Привет всем подскажите как сделать или что нужно где изменить чтобы на сайте везде где используются бб коды я мог вставлять ссылки изображений (з корня своего сайта) вида /home/site/images/pics.img и ссылки аналогичного вида?

Мне это нужно так как мой сайт доступен с нескольких имён и если публиковать цельные ссылки то они работают только для одной стороны.

В целом нужно чтобы я мог публиковать и такие и обычные ссылки.
 
jikaka
Панель администратора -> Изображения
грузи там, а везде бб-кодом указывай необходимый адрес
 
Web
Kaoru
jikaka написал:

Панель администратора -> Изображения
грузи там, а везде бб-кодом указывай необходимый адрес


Картинки я могу любым способом туда загрузить но путь то будет только для одного доменного имени а остальные станут не доступны.

Как будет выглядеть ссылка если я это сделаю? я не могу ставить целые пути.. так как доменных имён несколько.
 
Polarfox
includes/bbcodes/img_bbcode_include.php

Заменить на

Скачать исходники  Код
<?php
/*убрал копирайт, короче чтобы стало*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if (!function_exists("img_bbcode_callback")) {
   function img_bbcode_callback($matches) {
      if (substr($matches[3], -1, 1) != "/") {
         return "<span style='display: block; width: 300px; max-height: 300px; overflow: auto;' class='forum-img-wrapper'><img src='".str_replace(array("?","&amp;","&","="), "", $matches[1]).$matches[2]."' alt='".$matches[1].$matches[2]."' style='border:0px' class='forum-img' /></span>";
      } else {
         return $matches[0];
      }
   }
}

$text = preg_replace_callback("#\[img\](.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si", "img_bbcode_callback", $text);
?>




Будут поддерживаться относительные ссылки и ваще любые, проверено работает.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Kaoru
Psc написал:

includes/bbcodes/img_bbcode_include.php

Заменить на

Скачать исходники  Код
<?php
/*убрал копирайт, короче чтобы стало*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if (!function_exists("img_bbcode_callback")) {
   function img_bbcode_callback($matches) {
      if (substr($matches[3], -1, 1) != "/") {
         return "<span style='display: block; width: 300px; max-height: 300px; overflow: auto;' class='forum-img-wrapper'><img src='".str_replace(array("?","&amp;","&","="), "", $matches[1]).$matches[2]."' alt='".$matches[1].$matches[2]."' style='border:0px' class='forum-img' /></span>";
      } else {
         return $matches[0];
      }
   }
}

$text = preg_replace_callback("#\[img\](.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si", "img_bbcode_callback", $text);
?>




Будут поддерживаться относительные ссылки и ваще любые, проверено работает.


Спасибо, а для урл как так же сделать?
 
Polarfox
Готового нет урла, но суть та же - выдираем лишнее и смещаем аргументы согласно тому как выдрали.
Лишнее - часть ссылки с хттп etc.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Kaoru
Так правильно?

Загрузить источник  GeSHi: PHP
  1. <?php
  2. /*-------------------------------------------------------+
  3. | PHP-Fusion Content Management System
  4. | Copyright (C) 2002 - 2009 Nick Jones
  5. | http://www.php-fusion.co.uk/
  6. +--------------------------------------------------------+
  7. | Filename: url_bbcode_include.php
  8. | Author: Wooya
  9. +--------------------------------------------------------+
  10. | This program is released as free software under the
  11. | Affero GPL license. You can redistribute it and/or
  12. | modify it under the terms of this license which you
  13. | can read by viewing the included agpl.txt or online
  14. | at www.gnu.org/licenses/agpl.html. Removal of this
  15. | copyright header is strictly prohibited without
  16. | written permission from the original author(s).
  17. +--------------------------------------------------------*/
  18. if (!defined("IN_FUSION")) { die("Access Denied"); }
  19.  
  20. //Url BBCode with auto triming long links
  21. $text = preg_replace('#\[url\]([\r\n]*)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'\\2\\3\' target=\'_blank\' title=\'\\2\\3\'>'.trimlink('\\2\\3', 20).(strlen('\\2\\3')>30?substr('\\2\\3', strlen('\\2\\3')-10, strlen('\\2\\3')):'').'</a>'", $text);
  22. $text = preg_replace('#\[url\]([\r\n]*)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'http://\\2\' target=\'_blank\' title=\'\\2\'>'.trimlink('\\2', 20).(strlen('\\2')>30?substr('\\2', strlen('\\2')-10, strlen('\\2')):'').'</a>'", $text);
  23. $text = preg_replace('#\[url=([\r\n]*)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\' title=\'\2\3\'>\4</a>', $text);
  24. $text = preg_replace('#\[url=([\r\n]*)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'http://\2\' target=\'_blank\' title=\'\2\'>\3</a>', $text);
  25. ?>
  26.  
Добавлено за 0.037 секунд, используя GeSHi 1.0.8.10
 
Kaoru
Получилось только с вариантом [ url ][ /url ], c [ url=ссылка ][ /url ] не получается ac
 
Kaoru
Народ подскажите пожалуйста как сделать так же с бб кодом URL чтобы он принимал любые ссылки как img а то у меня получилось только для вида , а [url = ссылка]Название[/url] не хочет (
Изменил(а) Kaoru, 03.07.2011 21:03
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,171)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)