我必须将网页(在PHP上)改写为ajax,但我很难将HTML + PHP代码手动转换为PHP字符串。 更具体地说我必须逃离下面这段代码(细节并不重要)将PHP + HTML转换为PHP字符串
HTML
<div id="accordion">
<?php foreach ($processs as $process){ ?>
<label><?php echo $process['opperation'] . '.' . $process['codigo'] . ' ' . $process['nome']; ?></label>
<div>
<table id="<?php echo $process['id']; ?>">
<tr> <th>subprocesss chave</th> <th>Inhabilitar</th> </tr>
<?php $subprocesss = $objControlopperation->obtersubprocesss($process['id']);
if (count($subprocesss)){
foreach ($subprocesss as $subprocess){ ?>
<tr> <td> <?php echo $process['opperation'] . '.' . $process['codigo'] . '.' . $subprocess['codigo'] . ' ' . $subprocess['nome'] ?></td>
<td >
<input type="checkbox" id="<?php echo $subprocess['id']; ?>" onClick="habilitada('<?php echo $subprocess['id']; ?>','<?php echo $process["id"]; ?>')" />
</td> </tr>
<?php }
}?>
<tr>
<td colspan="3" >
Nova subprocess:
<input type="text" id="<?php echo 'novoRegistro_'.$process['id']; ?>" />
<label onclick="adicionarCaracteristica('<?php echo $process['id']; ?>')">Adicionar</label>
</td>
</tr>
</table>
</div>
<?php
}
?>
成类似于此:
PHP
$html = "
<tr> <th>subprocesss chave</th> <th>Inhabilitar</th> </tr>";
$subprocesss = $objControlopperation->obtersubprocesss($process['id']);
if (count($subprocesss)){
foreach ($subprocesss as $subprocess){
$html .= "<tr> <td>".
$process['opperation'] . '.' . $process['codigo'] . '.' . $subprocess['codigo'] . ' ' . $subprocess['nome'].
" </td> <td > <input type=\"checkboxid=\"".
$subprocess['id'].
"\" onClick=\"habilitada('" .
$subprocess['id'] .
"\',\'" .
$process["id"] .
"\')\" /> </td> </tr> ";
}
};
$html .="<tr>
<td colspan=\"3\" >
Nova subprocess:
<input type=\"text\" id=\"novoRegistro_'" .
$process['id'] .
"\" /> <label onclick=\"adicionarCaracteristica('<" .
$process['id'] .
"')\">Adicionar</label> </td></tr>";
}
我需要这样做,因为$ html变量是AJAX生成的新网页。问题是这必须在不同的地方完成,所以我想知道是否有一些工具可以促进转义过程。 这是我第一次使用AJAX,所以任何暗示或想法来解决这类问题都非常受欢迎。
亲自送回来,我只想建议坚持单引号字符串,并根据需要连接。当然,除非你想使用模板系统或'sprintf'或类似的工具来清理。 – 2015-02-11 21:03:41
我不明白你为什么要从第一块到第二块。如果你认为Ajax需要这个,你一定很困惑。 – developerwjk 2015-02-11 21:18:07
Ajax只是返回被调用的PHP打印到JavaScript回调的任何内容。它会这样做,无论你使用风格1还是风格2 ...而风格2只是简单的丑陋。更不用说将整个HTML页面连接成一个字符串将会使用更多的资源,所以不必在不必要的时候完成。没有必要仅仅因为你使用Ajax。 – developerwjk 2015-02-11 21:23:16