Reguläre Ausdrücke: $variable ersetzen
Schulze
- php
Hallo,
also ich habe einen String, in dem Variable erhalten sind:
<?php
$string = 'Ein Text mit $variablen
und einer $ander_var ';
Die enthaltenen Variablen würde ich jetzt gerne verändern, allerdings habe ich noch Problem beim regulären Ausdruck:
$string = preg_replace("/\$(.*?)[ \n]/si", "<b>\1</b> ", $string);
echo nl2br($string);
?>
Also Ausgabe erhalte ich:
Ein Text mit <b>variablen
</b> und einer <b>ander_var</b>
Das Problem ist jetzt, dass <b>variablen\n</b> noch ein Zeilenumbruch (\n) enthalten ist.
Bei der späteren Ausgabe stört diese Leerzeile extrem, weill der restliche Script darauf angewiesen ist, dass dort _kein_ leerzeichen ist.
Evt. weiß einer von euch ja Rat.
Mit freundlichen Grüßen
Schulze
hi
$string = 'Ein Text mit $variablen
und einer $ander_var ';
Das Problem ist jetzt, dass <b>variablen\n</b> noch ein Zeilenumbruch (\n) enthalten ist.
vielleicht ist es besser wenn du schreibst:
$string = "Ein Text mit $variablen und einer $ander_var ";
hoffe, ich konnte helfen
lg
azok
Hallo,
das würde zwar gehen, allerdings ist es wichtig dass dort auch Zeilenumbrüche drin vorkommen können.
MFG
Schulze
Hallo Schulze.
das würde zwar gehen, allerdings ist es wichtig dass dort auch Zeilenumbrüche drin vorkommen können.
Gruß, Ashura
Hallo,
also ich habe eine zwischen Lösung:
<?php
$string = 'Ein Text
mit $var
und einer $ander-var';
$string = preg_replace("/\$([a-zA-Z0-9_-]{1,})/si", "<b>\1</b>", $string);
echo nl2br($string);
?>
Kennt jmd. evt. eine Liste mit erlaubten Zeichen für eine Variable.
MFG
Schulze
Hallo,
O_o habs im Manual gefunden:
$string = preg_replace("/\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/si", "<b>\1</b>", $string);
MFG
Schulze