PHP replace

Sollte so funktionieren:
PHP:
preg_replace("#\[img\]#","<img scr=\"",$text);
 
ok, danke

kannst du mir noch erklären wann ich wie die Zeichen voneinander trenne?
 
Was meinst du mit trennen?

Alle Zeichen, die irgendwelche Sonderfunktionen haben (sog. Metazeichen) musst du mit einem Backslash \ maskieren.

Mit eckigen Klammern gibt man bspw. einen Bereich an, a bis z schreibt man als [a-z]; wenn du dagegen nach einer eckigen Klammer suchst, musst du eben \[ oder \] schreiben.

Da du mit Anführungszeichen deinen Ersetzungsausdruck umfasst, musst du dort das Anführungszeichen auch maskieren "<img scr=\"", sonst würde ja das vorletzte Anführungszeichen den String abschließen.
 
Zuletzt bearbeitet:
sry
hier stand Mist,

erst denken, dann posten
Ergänzung ()

<?php
$text = $_POST["text"];
$done_1 = preg_replace("#\[img\]#","<img src=\"",$text);
$done_2 = preg_replace("#\[/img\]#","\">",$done_1);
$done_3 = preg_replace("ä","&auml;",$done_2);

echo $done_3 ;
?>

ich möchte "ä" durch das richtige HTML ersetzen: &auml;

Warning: preg_replace() [function.preg-replace]: No ending delimiter 'ä' found in /mnt/web7/30/21/52249221/htdocs/test/pizza.php on line 5
 
Zuletzt bearbeitet:
Timdaroxxa schrieb:
ich möchte "ä" durch das richtige HTML ersetzen: &auml;

Warum machst Du dir es so "schwer"?

Ich vermute das Du ggf. alle Umlaute in HTML-Entitäten wandeln willst.
Dann nutze doch die Funktion
PHP:
htmlentities()

Zumal Du bei $done_3 = preg_replace("ä","&auml;",$done_2); nicht mit einem regulären Ausdruck arbeitest. str_replace wäre hier dann korrekt.

also entweder

PHP:
$done_3 = str_replace("ä","&auml;",$done_2);

oder

PHP:
$done_3 = htmlentities($done_2);
 
Vielleicht kann man deinen String auch in einem Rutsch umwandeln.

Sag doch mal, was du da genau machen willst.
 
hey
ich bin halt Anfänger sry ;D

Ich möchte die Funktion wie hier im Bord haben also z.B.
Und dann muss im HTML ja <a href="https://www.computerbase.de"></a> dastehen!
Außerdem will ich alle Umlaute richtig darstellen. Diese Liste wird mit der Zeit erweitert, je nachdem was mir gerade einfällt!
 
PHP:
$altertext = "[b]Hallo[/b] dies ist ein [u]Test[/u]!";
$neuertext = bbtohtml($altertext);
echo $neuertext; // Gibt aus: "<b>Hallo</b> dies ist ein <u>Test</u>!"
 
Zurück
Oben