preg_replace fehler nach update auf php 4.4.1

megatom

Mitglied
Hallo !
Habe folgende Zeile die vor dem Update auf 4.4.1 einwandfrei funktionierte.
Code:
	$text = preg_replace("|(.*?)(\b$high_data[wort]\b)(.*?)|si","\\1<span class=\"lexikon_icon\">?</span> <a href=\"$_SERVER['HTTP_HOST']/lexikon.php?lex_id=$high_data[id]\" onMouseOver=\"lex_overlib('$high_data[wort]','$high_data[details]','$tab_bg');\" onMouseOut=\"nd(100);\" class=\"normal\">\\2</a>\\3",$original_text);

jetzt gibt es folgenden Fehler :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

einer ne schnelle Ahnung wo der Fehler steckt ?
Vielen Dank !
 
Versuch es mal hiermit:

PHP:
$text = preg_replace('|(.*?)(\b'.$high_data['wort'].'\b)(.*?)|si',
	'\1<span class="lexikon_icon">?</span> '.
	'<a href="'.$_SERVER['HTTP_HOST'].'/lexikon.php?lex_id='.$high_data['id'].'" '.
	'onMouseOver="lex_overlib(\''.$high_data['wort'].'\',\''.$high_data['details'].'\',\''.$tab_bg.'\');"'.
	'onMouseOut="nd(100);" class="normal">\2</a>\3', $original_text);
 
yo !
vielen dank !!
lag tatsächlich daran dass man variablen anscheinend nicht mehr direkt reinschreiben kann.
ging aber auch mit doppelten anführungszeichen.
gibts auch noch eine begründung dafür ?
 
Zurück