Seite 1 von 1

Nur Bilder von der eigenen Website per [img] einbindbar

Verfasst: 11.11.2010 19:01
von Pyramide
Wer verhindern möchte, dass Bilder von fremden Webseiten mit dem [img] BBCode eingebunden werden, diesen jedoch nicht komplett deaktivieren kann, weil er weiterhin Bilder von der eigenen Website einbinden möchte, kann das folgende Snippet verwenden. Wenn jemand ein Bild von einer fremden Website einbindet, wird dieses stattdessen als [ externer Link] angezeigt.

Beachte, dass die Änderung auch rückwirkend für alle bereits geposteten Beiträge gilt. Umgekehrt werden, falls du das Snippet später wieder ausbaust, auch die zwischenzeitlich geposteten Bilder wieder sichtbar.

Siehe auch: Direktes Einbinden von externen Bildern nicht mehr möglich (Ankündigung auf phpBB.de)


Öffne: includes/bbcode.php

Suche: (3.0.7-PL1: Zeile 239)

Code: Alles auswählen

					if ($user->optionget('viewimg'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> $this->bbcode_tpl('img', $bbcode_id),
							)
						);
					}
Ersetze mit:

Code: Alles auswählen

					if ($user->optionget('viewimg'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								//nur Bilder von phpBB.de direkt anzeigen
								'#\[img:$uid\](https://www\.phpbb\.de/.*?)\[/img:$uid\]#s'		=> $this->bbcode_tpl('img', $bbcode_id),
								//alle anderen durch [ externes Bild ] ersetzen
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> str_replace('$2', '[ externes Bild ]', $this->bbcode_tpl('url', $bbcode_id, true)),
							)
						);
					}
Anstatt https://www.phpbb.de/ musst du natürlich die Basis-URL deiner eigenen Website eintragen.

Re: Nur Bilder von der eigenen Website per [img] einbindbar

Verfasst: 05.03.2011 23:57
von redbull254
Hinweis:

Achtet beim Ersetzen der URL auch darauf, ggf. dass „https://“ durch „http://“ zu ersetzen.

Nicht jeder benutzt dieses Protokoll:
Das HTTPS-Protokoll wird zur Verschlüsselung und zur Authentifizierung der Kommunikation zwischen Webserver und Browser im World Wide Web verwendet.

Re: Nur Bilder von der eigenen Website per [img] einbindbar

Verfasst: 24.12.2011 02:01
von Pyramide
Erweiterung von Blackhawk87: Wenn man den Link zum externen Bild mit einer eigenen CSS-Klasse versehen möchte, dann fügt man anstatt dieser Zeile

Code: Alles auswählen

'#\[img:$uid\](.*?)\[/img:$uid\]#s'      => str_replace('$2', '[ externes Bild ]', $this->bbcode_tpl('url', $bbcode_id, true)),
stattdessen die folgende Zeile ein:

Code: Alles auswählen

'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> '<a href="$1" class="extimglink">[ externes Bild ]</a>',
Somit kann man dem Link ein Bild oder sonstige Formatierung verpassen, mit einer Ergänzung in der links.css, z.B. so:

Code: Alles auswählen

.extimglink {
 background-image: url (... );
 background-position: left center;
 background-repeat: no-repeat;
 padding-left: 12px;
}
Nach der Änderung der .css Datei muss ggf. einmal im ACP das Style aktualisiert werden.