проблемы с preg_replace

Вот так сделал :
PHP:
<?
session_start();
include('inc/config.php');
mysql_select_db($db['name'],$connect);
include('inc/func.php');
//$myHtml = GetInfo::Html('1');
//$myHtml = base64_decode($myHtml['code']);
$str = 'Тест : [html]1[/html]<br />[html]3[/html]';
eval('?>'.html_entity_decode(str_replace('[/html]', '");echo $myHtml = base64_decode($myHtml["code"]);?>', str_replace('[html]', '<? $myHtml = GetInfo::Html("', $str))));
?>
Использую eval . Это безопасно ?
НИКОГДА НЕ ИСПОЛЬЗУЙ eval.

Это первое...

Второе:
PHP:
$str = "<?php system('ls');?>";
Запусти свой код с этой строкой и получишь:
Код:
$ cat 1.php
<?php
$str = "<?php system('ls -a');?>";
eval('?>'.
  html_entity_decode(
    str_replace(
      '[/html]',
      '");echo $myHtml = base64_decode($myHtml["code"]);?>',
      str_replace('[html]', '<? $myHtml = GetInfo::Html("', $str)
    )
  )
);
$ php -f 1.php
.
..
1.php
 
Назад
Сверху