日期:2014-05-17  浏览次数:20354 次

eval函数,一具字符串转义,极为痛苦,请好汉出手相助
下述代码,无误,可正确输出一个href当点击之时便可弹出111
<?php

$tb='';
$wcHead='$tb.=\'<tr>';
$wcTable='';
$wcFoot='</tr>\';';

$t='1111111fdddd';
$wcTable='<td><a href="#" onClick="alert(111);">test</a></td>';//---------注意此处
$wc=$wcHead.$wcTable.$wcFoot;
eval($wc);

echo $tb;
?> 

但是,我要实现 的是:一点击,便弹出$t='1111111fdddd';这个变量的值,如何实现??以下是错误之法:
$wcTable='<td><a href="#" onClick="alert(\'$t\');">test</a></td>';
$wcTable='<td><a href="#" onClick="alert('\'$t\'');">test</a></td>';

------解决方案--------------------
$wcTable=<<<html
<td><a href="#" onClick="alert(\'$t\');">test</a></td>
html;

------解决方案--------------------
<?php
 
$tb='';
        $wcHead='$tb.=\'<tr>';
        $wcTable='';
        $wcFoot='</tr>\';';
 
$t='1111111fdddd';
$wcTable='<td><a href="#" onClick="alert(&quot;'.$t.'&quot;);">test</a></td>';//--------- 还是 注意此处
$wc=$wcHead.$wcTable.$wcFoot;
eval($wc);
 
echo $tb;
?> 

------解决方案--------------------
引用:
引用:PHP code?123$wcTable=<<<html<td><a href="#" onClick="alert(\'$t\');">test</a></td>html;
不行啊,解析出了

<a href="#" onclick="alert(\'1111111fdddd\');">test</a>

哪里不行? 弹出 1111111fdddd 不正是你想要的吗