Automatische Verlinkung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Automatische Verlinkung

    Guten morgen,
    Es gibt ja zwei Methoden links einzufügen,
    einmal bbcode und einmal Automatische Erkennung .Jetzt Meine Frage :
    Wie kann Ich in die Automatische Erkennung eine zusätzliche classe einbauen .
    Es geht um :

    Quellcode

    1. class="thumber"
    Ich müsste sonst alle links immer so : <a href="http://roughnecks-germany.de" class="thumber">Mein Link</a> einfügen .

    Was müsste Ich alles ändern , damit die classe Automatisch mit drinn ist ?

    Vielen Dank schonmal im vorraus
  • Den Inhalt müsste so geändert werden

    PHP-Quellcode: URLBBCode.class.php

    1. <?php
    2. namespace wcf\system\bbcode;
    3. use wcf\system\application\ApplicationHandler;
    4. use wcf\system\request\RouteHandler;
    5. use wcf\util\StringUtil;
    6. /**
    7. * Parses the [url] bbcode tag.
    8. *
    9. * @author Marcel Werk
    10. * @copyright 2001-2015 WoltLab GmbH
    11. * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
    12. * @package com.woltlab.wcf
    13. * @subpackage system.bbcode
    14. * @category Community Framework
    15. */
    16. class URLBBCode extends AbstractBBCode {
    17. /**
    18. * @see \wcf\system\bbcode\IBBCode::getParsedTag()
    19. */
    20. public function getParsedTag(array $openingTag, $content, array $closingTag, BBCodeParser $parser) {
    21. $url = '';
    22. if (isset($openingTag['attributes'][0])) {
    23. $url = $openingTag['attributes'][0];
    24. }
    25. $noTitle = ($content == $url);
    26. $url = StringUtil::decodeHTML($url);
    27. // add protocol if necessary
    28. if (!preg_match("/[a-z]:\/\//si", $url)) $url = 'http://'.$url;
    29. return $this->getAnchorTag($url, (!$noTitle ? $content : ''), false);
    30. }
    31. /**
    32. * Generates an anchor tag from given URL.
    33. *
    34. * @param string $url
    35. * @param string $title
    36. * @param boolean $encodeTitle
    37. * @return string anchor tag
    38. */
    39. private function getAnchorTag($url, $title = '', $encodeTitle = true) {
    40. $url = StringUtil::trim($url);
    41. $external = true;
    42. if (ApplicationHandler::getInstance()->isInternalURL($url)) {
    43. $external = false;
    44. $url = preg_replace('~^https?://~', RouteHandler::getProtocol(), $url);
    45. }
    46. // cut visible url
    47. if (empty($title)) {
    48. // use URL and remove protocol and www subdomain
    49. $title = preg_replace('~^(?:https?|ftps?)://(?:www\.)?~i', '', $url);
    50. if (mb_strlen($title) > 60) {
    51. $title = mb_substr($title, 0, 30) . StringUtil::HELLIP . mb_substr($title, -25);
    52. }
    53. if (!$encodeTitle) $title = StringUtil::encodeHTML($title);
    54. }
    55. return '<a href="'.StringUtil::encodeHTML($url).'"'.($external ? (' class="thumber externalURL"'.(EXTERNAL_LINK_REL_NOFOLLOW ? ' rel="nofollow"' : '').(EXTERNAL_LINK_TARGET_BLANK ? ' target="_blank"' : '')) : ' class="thumber"').'>'.($encodeTitle ? StringUtil::encodeHTML($title) : $title).'</a>';
    56. }
    57. }
    Alles anzeigen
  • Ich muss mich nochmal an Dich wenden .

    Es gibt die möglichkeit 3D Thumber einzubauen, kannst DU mir den BBcode Bitte entsprechend Anpassen?
    Das Heißt falls das Geht ?!
    <img src="https://thumber.de/image/?size=SXXXL3DL&bg=transparent&url=https://thumber.de" />
    Das wäre wieder ein Beispiel von Thumber Direkt.

    Der Link zur Anbieter Seite falls DU Ihn brauchst. https://thumber.de/einbinden.php

    Ich hoffe es ist nicht zuviel Arbeit und ist überhaupt möglich.

    Vielen Vielen Dank schon mal im Vor raus,für Deine Mühen.
  • Sollte so rein theoretisch Funktionieren :D

    PHP-Quellcode: URLBBCode.class.php

    1. <?php
    2. namespace wcf\system\bbcode;
    3. use wcf\system\application\ApplicationHandler;
    4. use wcf\system\request\RouteHandler;
    5. use wcf\util\StringUtil;
    6. /**
    7. * Parses the [url] bbcode tag.
    8. *
    9. * @author Marcel Werk
    10. * @copyright 2001-2015 WoltLab GmbH
    11. * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
    12. * @package com.woltlab.wcf
    13. * @subpackage system.bbcode
    14. * @category Community Framework
    15. */
    16. class URLBBCode extends AbstractBBCode {
    17. /**
    18. * @see \wcf\system\bbcode\IBBCode::getParsedTag()
    19. */
    20. public function getParsedTag(array $openingTag, $content, array $closingTag, BBCodeParser $parser) {
    21. $url = '';
    22. if (isset($openingTag['attributes'][0])) {
    23. $url = $openingTag['attributes'][0];
    24. }
    25. $noTitle = ($content == $url);
    26. $url = StringUtil::decodeHTML($url);
    27. // add protocol if necessary
    28. if (!preg_match("/[a-z]:\/\//si", $url)) $url = 'http://'.$url;
    29. return $this->getAnchorTag($url, (!$noTitle ? $content : ''), false);
    30. }
    31. /**
    32. * Generates an anchor tag from given URL.
    33. *
    34. * @param string $url
    35. * @param string $title
    36. * @param boolean $encodeTitle
    37. * @return string anchor tag
    38. */
    39. private function getAnchorTag($url, $title = '', $encodeTitle = true) {
    40. $url = StringUtil::trim($url);
    41. $external = true;
    42. if (ApplicationHandler::getInstance()->isInternalURL($url)) {
    43. $external = false;
    44. $url = preg_replace('~^https?://~', RouteHandler::getProtocol(), $url);
    45. }
    46. // cut visible url
    47. if (empty($title)) {
    48. // use URL and remove protocol and www subdomain
    49. $title = preg_replace('~^(?:https?|ftps?)://(?:www\.)?~i', '', $url);
    50. if (mb_strlen($title) > 60) {
    51. $title = mb_substr($title, 0, 30) . StringUtil::HELLIP . mb_substr($title, -25);
    52. }
    53. if (!$encodeTitle) $title = StringUtil::encodeHTML($title);
    54. }
    55. return '<a href="'.StringUtil::encodeHTML($url).'"'.($external ? (' class="thumber externalURL"'.(EXTERNAL_LINK_REL_NOFOLLOW ? ' rel="nofollow"' : '').(EXTERNAL_LINK_TARGET_BLANK ? ' target="_blank"' : '')) : ' class="thumber"').'><img src="https://thumber.de/image/?size=SXXXL3DL&bg=transparent&url='.StringUtil::encodeHTML($url).'" /></a>';
    56. }
    57. }
    Alles anzeigen