BBCode
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
brauchen
buchstabe
code
datei
einfacher gehen
fehler
forum
http
inhalt
input
kilometer
not
offset
platzhalter
support
url
wort
zahl
zeile
-
Und zwar wollte ich es so machen das man, wenn man zum Beispiel bei mir ins GB ue scheibt das es sich dann in ü und das es sich so speichert weil sonst werden die Buchstaben dann nicht richtig angezeigt. Ich habe ja was gefunden aber bekomme es trotzdem nicht richtig hin.
http://www.tutorials.de/forum/php-tutorials/279124-bbcode-mit-php-parsen.html
Habe mir jetzt die noch dazu gemacht:
$bb = preg_replace('/n/', "<br/>n", $bb); $bb = preg_replace('/ue/', "ün", $bb); $bb = preg_replace('/ae/', "än", $bb); $bb = preg_replace('/oe/', "ön", $bb); $bb = preg_replace('/eszett/', "ün", $bb);
Aber da kommt jetzt immer Warning: preg_replace() [function.preg-replace]: Compilation failed: PCRE does not support L, l, N, U, or u at offset 1 in /home/webpages/lima-city/andre2005/html/test.php on line 8
in Zeile 8 steht:
$bb = preg_replace('/ue/', "ün", $bb);
Wo ist mein Fehler?
Beitrag geändert: 26.10.2008 16:09:16 von andre2005 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
könntest du deinen beitrag auch mal editieren, und die zeilenumbrüche setzten? ich find es schrecklich 3 Kilometer nach rechts scrollen zu müssen...
mfg -
probiers mal mit Escapen von dem u.
Also aus dem
$bb = preg_replace('/ue/', "ün", $bb);
ein
$bb = preg_replace('/ue/', "ün", $bb);
Wie es aussieht ist das u ein platzhalter für irgend eine interne Variable, und muss dann natürlich Escaped werden ;)
//Edit:
hm... dieser Backslash hat irgendwie keine lust...
der muss halt dierekt vor das u von dem /ue/
Beitrag geändert: 27.10.2008 18:43:38 von pichunter -
versuchs mal lieber mit "str_replace", sollte einfacher gehen, da du ja keine komplizierten suchkriterien hast
-
mein code
<? function bbcode ($bbcode) { $bbcode=preg_replace ("/[b](.*?)[/b]/si", "<b>1</b>", $bbcode); $bbcode=preg_replace ("/[input](.*?)[/input]/si", "<textarea cols="30" rows="3" readonly="yes">1</textarea>", $bbcode); $bbcode=preg_replace ("/[i](.*?)[/i]/si", "<i>1</i>", $bbcode); $bbcode=preg_replace ("/[s](.*?)[/s]/si", "<s>1</s>", $bbcode); $bbcode=preg_replace ("/[u](.*?)[/u]/si", "<u>1</u>", $bbcode); $bbcode=preg_replace ("/[center](.*?)[/center]/si", "<center>1</center>", $bbcode); $bbcode=preg_replace ("/[right](.*?)[/right]/si", "<p align="right" style="display:inline;">1</p>", $bbcode); $bbcode=preg_replace ("/[url=(.*?)](.*?)[/url]/si", "<a href=1>2</a>", $bbcode); $bbcode=preg_replace ("/[img=(.*?)](.*?)[/img]/si", "<img name='1' src='2' border="0"></img>", $bbcode); $bbcode=preg_replace ("/[def=(.*?)](.*?)[/def]/si", "<li class="menu2"> 1 <span> - 2</span></li>", $bbcode); $bbcode = ereg_replace("n",'<br>', $bbcode); return $bbcode; } ?>
in der anderen datei
$inhalt = bbcode($inhalt);
und wenn du ü zu & u u m l ; haben willst htmlspecialchars();
ach ja die backslaches werden immer entfern also vor jede eckige klammer und die zahlen \1 und \2 brauchen 2 backslashes
und überall wos noch nötig ist musste halt escapen
Beitrag geändert: 30.10.2008 16:25:45 von andre-morillon -
Aber wenn des in einem Wort drinnsteht zum beispiel Neueroeffnung ghet des net
Kann mir mal irgend eine mal helfen?
Beitrag geändert: 1.11.2008 20:21:20 von andre2005 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage