Problem mit RegExp

fanste

Erfahrenes Mitglied
Hallo.
Habe da eine RegExp, die nicht richtig funktioniert. Weiß aber nicht warum! Vll findet ihr ja den Fehler.
Der Text kommt von eine. Das ist der Tetx der aus dem Formular kommt.
Code:
Hi. Was geht daran net!

[php ]
<?
funktion test()
{
  global $da;

  $du = "da";
  $da = "weg";

  if($du == $da)
  {
     return "yes";
  }
  else
  {
     return "no";
  }
}

echo test;
?>
[/php ]

Ich komm net weiter. leider!!

mb fanste

Das ist die Verarbeitung.

PHP:
$text = $_POST['text'];
$text = nl2br(str_replace(' ','&nbsp;',stripslashes(htmlspecialchars($text))));

	$text = preg_replace('#\[php\](<br>|<br />|\r\n|\n|\r)(.*)(<br>|<br />|\r\n|\n|\r)\[/php\]#esiU','$2',$text); //Zeile 10
	echo $text;

Wenn ich das nun ausführe kommt dieser Fehler.
Code:
Parse error: parse error in c:\wampp1\htdocs\forum\test\send_php.php(10) : regexp code on line 2

Fatal error: Failed evaluating code: <?
funktion test()
{
  global $da;

  $du = "da";
  $da = "weg";

  if($du == $da)
  {
     return "yes";
  }
  else
  {
     return "no";
  }
}

echo test;
?>
in c:\wampp1\htdocs\forum\test\send_php.php on line 10

Ich kann da jedoch keinen Fehler entdecken. Hoffentlich könnt ihr helfen.

mb fanste
 
Vielleicht nutzt es dir etwas: ich habe den code gestestet (ohne Leerzeichen in den PHP-Tags), und habe folgende Fehlermeldung:
Code:
Parse error: syntax error, unexpected '&' in C:\Programme Setup\xampplite-win32-1.4.11\xampplite\htdocs\Untitled-5.php(7) : regexp code on line 2

Fatal error: preg_replace() [function.preg-replace]: Failed evaluating code: &lt;?<br /> funktion&nbsp;test()<br /> {<br /> &nbsp;&nbsp;global&nbsp;$da;<br /> <br /> &nbsp;&nbsp;$du&nbsp;=&nbsp;&quot;da&quot;;<br /> &nbsp;&nbsp;$da&nbsp;=&nbsp;&quot;weg&quot;;<br /> <br /> &nbsp;&nbsp;if($du&nbsp;==&nbsp;$da)<br /> &nbsp;&nbsp;{<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&quot;yes&quot;;<br /> &nbsp;&nbsp;}<br /> &nbsp;&nbsp;else<br /> &nbsp;&nbsp;{<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&quot;no&quot;;<br /> &nbsp;&nbsp;}<br /> }<br /> <br /> echo&nbsp;test;<br /> ?&gt;<br /> in C:\Programme Setup\xampplite-win32-1.4.11\xampplite\htdocs\Untitled-5.php on line 7

ich habe den Code gepastet, ausser den Leerzeichen die ich entfernt habe ist der Code genauso wie du angegeben hast
 
Diser Fehler trat beio mir noch nicht auf. Konnte mir daher (bis jetzt noch) nicht helfen.
Weiß vll jemand anderes, warum das nicht geht?
 
Hab das Problem jetzt lösen können. So sieht es jetzt aus.
PHP:
$text = str_replace("\\\"","\"",$_POST['text']);
	$text = htmlspecialchars($text);

	$text = preg_replace('#\[php\](<br>|<br />|\r\n|\n|\r|\n\r)(.*)(<br>|<br />|\r\n|\n|\r|\n\r)\[/php\]#eisU',"edit('$2')",$text);
	$text = nl2br($text);
	echo $text;

mb fanste
 
Zurück