[Javascript] BB-Code Frage

Virginia

Ensign
Registriert
Aug. 2005
Beiträge
133
Hi,
ich habe jetzt dieses Script von selfhtml bei mir eingebaut, damit man in mein Formular Links einfügen kann:
http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/
Das Script funktioniert auch, bei Anklicken des Buttons wird in mein Formular URL= /URL (plus Klammern)geschrieben. Den Rest kann man ja selbst eintragen.
Der Inhalt des Formulars wird in eine Datenbank geschrieben und dann von einem Script auf der Website wieder abgerufen.
Problem ist: auf der Website steht dann kein Link, sondern der Code, also URL= /URL (plus Klammern) :( Woran liegt das? Was habe ich vergessen?
 
Zuletzt bearbeitet:
Na, irgendwo müsstest du ja sagen, dass [URL][/URL] bei der Ausgabe als Link dargestellt werden soll, von allein geht das nicht.

Kannst aber einfach statt [URL][/URL] <a href=""></a> verwenden. Wenn du das nur für dich selbst verwendest sollte das ja kein Problem sein.
 
So leicht ist das mit dem a href leider nicht :( wäre mir auch lieber, aber da der Formularinhalt später per echo ausgegeben wird, müsste es so lauten:
Code:
<a href='http://'></a>
Es dürften also keine doppelten Anführungszeichen drin stehen, sonst kommt er bei der Ausgabe durcheinander.
Das ist aber wiederum nicht möglich, denn der Code lautet:
Code:
<input type="button" value="Link einf&uuml;gen" onClick="insert('[url]', '[/url]')">
Sobald ich statt dem URL jetzt was mit einfachen Anführungszeichen einsetze, kommt er natürlich auch durcheinander :(

Hab ich mich verständlich ausgedrückt?! :)
 
Also ich hab - genau das - bei mir letztendlich so realisiert:

<a href=\u0022\u0022></a>

Müsste statt mit \u0022 theoretisch auch mit &quot; - tut's aber bei mir nicht.
 
Das u0022 ist aber ein doppeltes Anführungszeichen und das darf nicht ins Formular, weil es dann auch in die Datenbank geht und das beim Auslesen Fehler gibt :(

Gibt es auch ein einfaches Anführungszeichen ( ' ) in so einem Code?
 
Vielleicht liegt's daran, dass es schon so spät ist, aber ich check grad net was ihr da mit dem <a href=""></a> wollt.
Das würde doch überhaupt nicht funktionieren!? Wenn im Quelltext dann bspw. stehen würde <a href="">www.google.de</a>.
Das wäre ein Link auf die aktuelle Seite!? Und net auf bspw. Google!

Wie wär's mit 'nem Mini-PHP-BBCode-Parser?
PHP:
<?php
function bbcode($message)
{
	$message = preg_replace('#\[url\](.+)\[/url\]#i', '<a href="$1">$1</a>', $message);
	
	return $message;
}
?>
 
Zuletzt bearbeitet:
Gibts so einen Code auch noch für "\" , dann kann ich auch noch das http:\\ reinschreiben... wenn ich es original reinschreibe, macht er nur ein einzelnes \
 
Habe noch eine Frage.
Leider nimmt meine Datenbank diesen Inhalt:
<a href='http://www.test.de' target=blank>Test</a>
nicht an :( Da kommt "error making query". Inhalt ohne Link wird problemlos eingetragen. Woran kann das jetzt liegen? :(
Vielleicht ist es doch einfacher, es mit [ URL ] zu lösen :(

EDIT: Wenn ich den Link genau so direkt über phpmyadmin ins Feld einfüge, gibt es auch kein Problem...
 
Zuletzt bearbeitet:
Ich habe herausgefunden, wenn ich es ganz ohne einfache Anführungszeichen mache, also nur so:

Code:
<input type="button" value="Link einf&uuml;gen" onClick="insert('<a href=http://', 'target=blank></a>')">
funktioniert alles. Kann das denn Probleme geben, wenn ich gar keine Anführungszeichen verwende?
 
Mir ist aufgefallen, ich brauche ja leider doch ein Apostroph im Textfeld. Das ganze klappt aber nur, wenn ich es direkt per Code eingebe, also mit &##8242; (mit einfacher Raute). Lässt es sich einrichten, dass ich es im Textfeld als Apostroph eingeben kann und es dann beim Senden in &##8242; umgewandelt wird? Habe es so probiert:
Code:
	$biografie = str_replace("\'", "&##8242;", $biografie);
aber das hat leider nicht funktioniert :(
 
Zuletzt bearbeitet:
Zurück
Oben