Sie sind nicht angemeldet.

11

Samstag, 28. März 2009, 22:03

Ladet einfach die Dateien in der includes.zip Datei hoch und überschreibt diese. Die Verzeichnisse sollten stimmen.
VORHER UNBEDINGT BACKUP MACHEN!!!
Falls was nicht läuft, dann einfach hier posten. Ansonsten viel Spaß.
Copyright, Readme etc. kommt irgendwann. Das eilt in meinen Augen aber nicht...

MFG
Ich habe vor einiger Zeit ähnliche Funktionen geschrieben und füge sie hier an. Wenn du willst, kannst du sie bei dem bereits angepassten Modul einbauen. Damit werden neben Smilies auch noch bb-Tags umgesetzt.

Zusätzlich noch eine bessere JavaScript Funktion, um die Tags einzufügen. Das Original stammt von SelfHTML und wurde von mir
ein Bisschen gekürzt/erweitert. Mit dieser Funktion wird das gewünschte Tag dort eingefügt, wo sich der Cursor im Textfeld
befindet. Zusätzlich gibt es die Möglichkeit, markierten Text dadurch automatisch zu umschliessen.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

/**
 * Diese Funktion setzt bbCode und Smilies um.
 *
 * @param String $var    Der auf bbCode und Smilies zu prüfende Inhalt.
 */
function replace($var) {
  $var preg_replace("/\[b\](.*?)\[\/b\]/si","<strong>\\1</strong>"$var);
  $var preg_replace("/\[i\](.*?)\[\/i\]/si","<em>\\1</em>"$var);
  $var preg_replace("/\[u\](.*?)\[\/u\]/si","<u>\\1</u>"$var);
  $var preg_replace("/\[img\](.*?)\[\/img\]/si","<img src="\\1" alt="\\1" title="\\1" />"$var);
  $var preg_replace("/\[url=http:\/\/(.*?)\](.*?)\[\/url\]/si","<a href="http://\\1" title="http://\\1">\\2</a>", $var);
  $var preg_replace("/\[email=(.*?)\](.*?)\[\/email\]/si","<a href="mailto:\\1" title="\\1">\\2</a>"$var);
    
  $smilies = array(
  ":)" => "smile.gif",
  ":-)" => "mile.gif",
  "=)" => "smile.gif",
  ";)" => "wink.gif",
  ";-)" => "wink.gif",
  );
  
  foreach ($smilies as $smilie => $path) {
    $var str_replace($smilie"<img src="$path" alt="$smilie" />"$var);
  }
  print $var;
}

?>


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
 * Funktion, um Tags in ein übergebenes Feld einzufügen.
 *
 * @param starttag	Das Starttag.
 * @param endtag  	Das Endtag.
 * @param field     	Das Feld, in welchem das Tag eingefügt werden soll.
 */
function setTag(starttag, endtag, field) {
  var input = document.getElementById(field);
  input.focus();

  if (typeof document.selection != "undefined") {
	var range = document.selection.createRange();
	var insert = range.text;
	range.text = starttag + insert + endtag;
	range = document.selection.createRange();
	
	if (insert.length == 0) {
  	range.move("character", -endtag.length);
	} else {
  	range.moveStart("character", starttag.length + insert.length + endtag.length);  	
	}
	range.select();
  }
  
  else if (typeof input.selectionStart != "undefined") {
	var start = input.selectionStart;
	var end = input.selectionEnd;
	var insert = input.value.substring(start, end);
	input.value = input.value.substr(0, start) + starttag + insert + endtag + input.value.substr(end);
	var pos;
	
	if (insert.length == 0) {
  	pos = start + starttag.length;
	} else {
  	pos = start + starttag.length + insert.length + endtag.length;
	}
	input.selectionStart = pos;
	input.selectionEnd = pos;
	
  } else {
	var pos;
	var regex = new RegExp('^[0-9]{0,3}$');
	
	while (!regex.test(pos)) {
  	pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
	}
	
	if (pos > input.value.length) {
  	pos = input.value.length;
	}

	var insert = prompt("Bitte gib den gewünschten Text ein.");
	input.value = input.value.substr(0, pos) + starttag + insert + endtag + input.value.substr(pos);
  }
}

Werbung

12

Samstag, 28. März 2009, 22:42

Es wäre kein Problem, nur frage ich mich, ob BB-Codes bei nem GBook nötig und angebracht sind.

Werbung

Phisker

Schüler

  • »Phisker« ist männlich

CMS Version: 3.6.0

Wohnort: Essen

  • Nachricht senden

13

Sonntag, 29. März 2009, 00:09

Also,
ich kenne das nur so und finde das mit den BbCodes sehr sehr gut! Wäre wirklich klasse!

Sozusagenm, kann man ja dann 3 verschiedene Versionen des Gästebuches anbieten oder nicht?

  • Das Standard Gästebuch
  • Das Standard Gästebuch + Smiley (Textform)
  • Das Standard Gästebuch + Smiley (bbcode)
Das wäre super. Sollte auch in der Demo zu sehen sein, wäre klasse!

Edit://

Ich musste nur die Pfade der Smileys anpassen! Danke an Life. Habe das ganze als Paket zusammengeschnürt, so ist das ganze in einem Rutsch installiert!
»Phisker« hat folgende Datei angehängt:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Benny« (8. April 2009, 16:04)


Werbung