Seite 3 von 3

Re: Linkproblem

Verfasst: 14.03.2009 17:42
von winni33
Ich denke mal, das hier irgendwo ein Fehler ist, allerdings gebe ich zu, das ich nicht ganz durchblicke. Da reicht mein php-Horizont wahrscheinlich noch nicht.

/includes/function_content.php:

Code: Alles auswählen

* make_clickable function
*
* Replace magic urls of form http://xxx.xxx., www.xxx. and xxx@xxx.xxx.
* Cuts down displayed size of link if over 50 chars, turns absolute links
* into relative versions when the server/script path matches the link
*/
function make_clickable($text, $server_url = false, $class = 'postlink')
{
	if ($server_url === false)
	{
		$server_url = generate_board_url();
	}

	static $magic_url_match;
	static $magic_url_replace;
	static $static_class;

	if (!is_array($magic_url_match) || $static_class != $class)
	{
		$static_class = $class;
		$class = ($static_class) ? ' class="' . $static_class . '"' : '';
		$local_class = ($static_class) ? ' class="' . $static_class . '-local"' : '';

		$magic_url_match = $magic_url_replace = array();
		// Be sure to not let the matches cross over. ;)

		// relative urls for this board
		$magic_url_match[] = '#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie';
		$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_LOCAL, '\$1', '\$2', '\$3', '$local_class')";

		// matches a xxxx://aaaaa.bbb.cccc. ...
		$magic_url_match[] = '#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#ie';
		$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_FULL, '\$1', '\$2', '', '$class')";

		// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
		$magic_url_match[] = '#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#ie';
		$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_WWW, '\$1', '\$2', '', '$class')";

		// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
		$magic_url_match[] = '/(^|[\n\t (>])(' . get_preg_expression('email') . ')/ie';
		$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_EMAIL, '\$1', '\$2', '', '')";
	}

	return preg_replace($magic_url_match, $magic_url_replace, $text);
}

Re: Linkproblem

Verfasst: 14.03.2009 18:42
von winni33
Bi etwas näher :

Beim Editieren, bzw. der Vorschau werden durch magic_url vor und nach den Pünktchen jeweils Leerzeichen gesetzt. Daher auch die Trennung zwischen klickbaren link und den als Rest dargestellten text. Bloß warum ?

Re: Linkproblem

Verfasst: 14.03.2009 23:01
von nickvergessen
Dann guck mal in der includes/functions.php und ersetz:

Code: Alles auswählen

target=_blank
mit

Code: Alles auswählen

target="_blank"
und ansonsten baut das Ding aus, weil es nicht gerade die feine art ist und guckt euch das hier an:
KB:linksneuesfenster

Re: Linkproblem

Verfasst: 15.03.2009 10:01
von winni33
Hallo und guten Morgen,

Du meintest sicher die functions_content.php. Dort war bereits der Targetbefehl mit "" "" eingesetzt. Allerdings bin ich in diesem Zuge dem Fehler näher gekommen. Entferne ich diese Zeile völlig, also so, das es wieder wie im ursprünglichen phpBB3 ein_self wird:

Code: Alles auswählen

$html	= "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
dann tritt der Fehler nicht mehr auf. Also muß ich jetzt suchen, was mit dem Target-Befehl schief läuft.

Erst mal vielen Dank

Peter

Re: Linkproblem

Verfasst: 15.03.2009 12:17
von winni33
O.K,

Problem gelöst, wen auch auf andere Art.
Als Erstes alle geänderten Dateien in /includes/ mit den originalen der phpBB 3 Installation ersetzen.

Als nächstes den Primelink-Mod einspielen, und natürlich nicht vergessen bei der prime_links.php den Wert für target auf true zu setzen.

http://www.phpbb.com/community/viewtopi ... 9&t=875585

Nun geht Alles wie gewünscht !

Ich denke, das damit das Thema geschlossen werden kann. Evtl. ins HowTo ? Ich meine die Fragen dazu gab es ja schon zu Hauf und man kann da zukünftig auf diese Lösung verweisen.

Liebe Grüße
Peter

Re: Linkproblem

Verfasst: 15.03.2009 14:07
von _roger_
nickvergessen hat geschrieben:[...] und ansonsten baut das Ding aus, weil es nicht gerade die feine art ist und guckt euch das hier an:
KB:linksneuesfenster

Vielen Dank - funktioniert perfekt!


Grüße,
Roger

Re: Linkproblem

Verfasst: 15.03.2009 22:25
von nickvergessen
winni33 hat geschrieben:Du meintest sicher die functions_content.php.
Ich meinte genau, was ich gesagt habe, aber wenn ihr das Problem anderweitig gelöst habt auch gut =)