André Laugks: Problem mit regulären Ausdrücken

Beitrag lesen

Hallo!

als übergabewert wurde "?test? ist fett geschrieben" festgelegt und jetzt soll das Script die ? entfernen und dafür <b> bzw. </b> einfügen ich habe es bereits wie folgt leider ohne Erfolg probiert: $string = eregi_replace("\?([a-zA-Z0-9])\?",<b>([a-zA-Z0-9])</b>",$string)

Also ich denke, meine Lösung ist auch nicht die wahre Lösung, aber es funktioniert! :-) Anstatt des Fragezeichens habe ich eine Raute genommen.

Im ersten Durchlauf werden alle # durch ein <b> erstetzt. Im zweiten Durchlauf werden alle <b>, mit einem nachfolgendem Leerzeichen, den logischerweise folgt nach einem Wort ein Leerzeichen,  durch ein </b> mit einem Leerzeichen ersetzt.

1. Ich habe nicht rausgefunden, wie man mit regulären Ausdrücken ein Leerzeichen abfragen kann!
2. Ich habe auch nicht gefunden, wie man ein Leerzecihen erzwingen kann, also wie z.B. mit \n einen Zeilenumbruch.

Wenn Du weist, mich interessiert es!

$string = "#Hallo# wie #gehts# Dir? Mir gehts #ganz# gut!";

// 1. Durchlauf
$fastfertig = ereg_replace("#", "<b>", $string);

//2. Durchlauf, nach <b> und </b> immer ein Leerzeichen
$fertig = ereg_replace("<b> ", "</b> ", $fastfertig);

echo ($fertig);

mfg, André