Включить коды PHP внутри переменной PHP - PullRequest
0 голосов
/ 24 января 2012

Как я могу включить этот код как есть, а затем загрузить его в мою базу данных, и в базе данных должны быть переменные, а не строки?

КОД:

$username1 = $_SESSION['myusername'];
$sql = mysql_query("SELECT * FROM `members` WHERE `username`='$username1'");
while($row=mysql_fetch_array($sql)) {
  $replytext = '<table cellpadding="0" cellspacing="0" border="0"><tr><td rowspan="10" class="teamimage" style="background-image: url(images/usericons/'.$row['img'].');"><div style="background-image:url(images/teamicons_shadow.png); width: 75px; height: 75px;"></div></td></tr><tr valign="top"><td rowspan="10" style="width:10px;"></td><td style="width:300px;"><table cellpadding="0" cellspacing="0" border="0" style="margin:0px; padding:0px;"><tr><td class="teamname"><b><a href="teams.php?user='.$row['id'].'">'.$row['username'].'</a></b></td></tr><tr><td>Summoner Name: '.$row['summonername'].'</td></tr><tr><td style="border-bottom: 1px solid #888; padding-bottom: 5px;">Clan: '.$row['clan'].'</td></tr><tr><td style="color: #888; padding-top: 3px;">Country: '.$row['country'].'</td></tr><tr><td style="color: #888; padding-top: 3px;">Joined In: '.$row['created'].'</td></tr></table></td><td style="width:10px;"></td><td rowspan="10" style="border: 1px solid #aaa; padding: 3px; width:600px;">'.$replytext.'</td></tr></table>';
}

КОД В БАЗЕ ДАННЫХ

 <table cellpadding="0" cellspacing="0" border="0">
   <tr>
     <td rowspan="10" class="teamimage" 
       style="background-image: url(images/teamicons/default_user.png);">
       <div
         style="background-image:url(images/teamicons_shadow.png); 
           width: 75px; height: 75px;">
       </div>
     </td>
   </tr>
   <tr valign="top">
     <td rowspan="10" style="width:10px;">
     </td>
     <td style="width:300px;">

Обратите внимание, что код, который я объяснил ранее, это код внутри $replytext!

Ответы [ 3 ]

1 голос
/ 24 января 2012

Если я вас правильно понял, вы хотите, чтобы код в базе данных был:

<table cellpadding="0" cellspacing="0" border="0"><tr><td rowspan="10" class="teamimage" style="background-image: url(images/teamicons/$row['img'].png)

Другое решение - иметь уникальный символ, который не заставит php думать, что это переменная. Например, измените:

$row['img']

до

 ###row['img']

и когда вы извлекаете этот код из базы данных, используйте простое str_replace для замены ### символ с $.

Конечно, вам нужен уникальный символ, если вы используете простой символ, такой как "a", он изменит все символы "a" в вашем коде на $ ... не очень хорошая идея.

0 голосов
/ 24 января 2012

Это полезно?

$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
eval("\$str = \"$str\";");
echo $str. "\n";

Не уверен, хотя.Ссылка http://php.net/manual/en/function.eval.php

0 голосов
/ 24 января 2012

Вы можете экранировать одинарные кавычки следующим образом:

$replytext = '<table cellpadding="0" cellspacing="0" border="0"><tr><td rowspan="10" class="teamimage" style="background-image: url(images/usericons/$row[\'img\']);"><div ...

Используйте \ escape для всех ключей массива:

 url(images/usericons/$row[\'img\']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...