$text = htmlspeciachars("内容")

解决方案 »

  1.   

    首先这个函数,我输入多行数据不方便。而且我也不需要他把<这种符号转义成HTML的,我只需要他原封不动的把我上面的东西写入文件就可以了。
      

  2.   

    <?php
    $s = '<?php
    Database($DBHost,$DBUser,$DBPassword,$DBName);
    $query=<<<select
    select * from MAIN_NEWS_TOPIC where id=$_GET[id]
    select;
    ?>
    <html><head><title>b</title><head><body>$aaaa</body></html>
    ';
    $fp = fopen("b.php","w");
    fwrite($fp,$s);
    fclose($fp);
    ?>
      

  3.   

    开国际玩笑!!!文件b.php的内容
    <?php
    Database($DBHost,$DBUser,$DBPassword,$DBName);
    $query=<<<select
    select * from MAIN_NEWS_TOPIC where id=$_GET[id]
    select;
    ?>
    <html><head><title>b</title><head><body>$aaaa</body></html>
      

  4.   

    editplus显示上有问题,调试可以过。谢谢。
      

  5.   

    如果显示上有问题,在内容中的<?和?>,变成<\? 和  ?\>就可以了,不过不能用单引号,用双引号其实最好的办法是这样的
    <?
    $str = <<<ECHO
    <\?php
    Database($DBHost,$DBUser,$DBPassword,$DBName);
    $query=<<<select
    select * from MAIN_NEWS_TOPIC where id=$_GET[id]
    select;
    ?\>
    <html><head><title>b</title><head><body>$aaaa</body></html>
    ECHO;//注意,这里要顶格$fp = fopen("b.php","w");
    fwrite($fp,$str);
    fclose($fp);
    ?>
    只有这样,中间的变量才能生效,否则用单引号,$aaaa这些变量应该不会被替换
    如果是不想替换掉则$aaaa变成\$aaaa,就是把$变成\$