$tmp=" <a href=\"/index.php?uid={$uid}\"> </a>"; 

解决方案 »

  1.   


    <?php
    $tmp='<a href="/index.php?uid='.$uid.'"> </a>';//也可以用单引号报起来 
    ?>
      

  2.   

    $tmp='<a href="/index.php?uid='.$uid.'"> </a>';//就是说单引号包起来的变量是不被解析德是吗
      

  3.   

    你有没看过网页的源代码呢?在我的印象中,即使你用诸如:<a href='...'>...</a>写的代码在浏览器中解析后其源代码还是会变成<a href="...">...</a>的。所以不必这么计较了吧。
      

  4.   


    四楼理解正确。在浏览器查看源代码这个功能中只是查看到浏览器解析HTML代码前的源代码,浏览器解析后,会把单引号转换成双引号。类似的,浏览器会把“#FF0000、#FFFFFF”之类的颜色格式转换为:“color: rgb(0, 119, 0);”这种形式的。这个过程,是看不到的,是在浏览器内部进行。
      

  5.   

    可是这个这样解析的代码在符合HTML规范马!如果我连单引号都不用,那么也不回自动解析成双引号
      

  6.   


    是的,所以楼主就要把代码改为:
    $tmp="<a href='/index.php?uid={$uid}'></a>";你的代码正确啊???
      

  7.   

    不要太执着什么规范
    不出 Error 就可以
    现在的浏览器都有 Tidy
    可以修正 warning完全根据规范的话
    使用者体验很难做好
      

  8.   

    $tmp=' <a href="/index.php?uid='.$uid.'"> </a>我换成这种形式,但是$uid还是提前替换成空了。请问是不是说只要在""好中的变量就会自动替换。
    我现在不想让变量替换,请问怎么写当然如果要替换时,应该用eval函数吧
    那么应该如何储存这个模板并且保证模板中的标签最起码要带''号其实我也不都是为了标准,而是我自己业需要代码的可读性
      

  9.   


    不是的。在双引号内变量值不会变的,楼主在此句之前加个echo $uid看看。如果会变,那就不是编程了。
      

  10.   

    明白了但是如果要让“”中的变量可以被正常替换,是不是要用eval
    请问该怎么写
    $mtv='<a href="/index.php?uid=$info_arr[truetime]">asdfsdf</a>';
    eval("\$mtv= \"$mtv\";");我这样写的有问题啊,麻烦了,谢谢
      

  11.   

    你可能是越听越糊涂了,哈哈。我的意思不是这个,你的语句($tmp=" <a href='/index.php?uid={$uid}'> </a>"; )写的是正确的。
      

  12.   

    <?php
    $format = "<a href=\"/index.php?uid=%d\"> </a>";//使用
    $uid=10;
    echo $getstring = printf($format, $uid);
    ?> 
      

  13.   

    请问用eval函数怎么用呢,谢谢了
      

  14.   

    没有必要用eval的。楼主说想干什么,这样好回答,哈哈。15楼的说不清晰啊,哈哈哈
      

  15.   

    我现在的问题是我要把这个模板储存在一个模板PHP文件tmp.php中,当然模板中的变量要暂时不能被解析,同时模板中HTML标签中还要带有引号,即要满足这个条件然后我我在文件index.php中,include tmp.php。并且调用
    $tmp变量,同时替换$tmp=" <a href='/index.php?uid={$uid}'> </a>"; 中的$uid总体就是这个需求说白了就是问
    1,该怎样储存这个模板文件
    2,如果储存时为了保障$uid不被解析而暂时把<a href='/index.php?uid={$uid}'> </a>当作子串。
    那么如果要在index.php中解析$uid时,是不是模板变量要改变一下,请问这个怎么弄谢谢 
      

  16.   


    1、如果不是有index.php来include那个tmp.php文件,是不是不解析那个$uid值呢??就是直接访问tmp.php,不经过index.php???2、如果第二个问题不是,那么就好办,如果是,可能要做些修改。
      

  17.   


    这个tmp.php本身就是一个语句,你在index.php来include tmp.php的时候,只要在index.php前,搞个$uid赋值就可以了。如:
    <?php
    $uid="例如";
    include("tmp.php");//调用完毕
    ?>
      

  18.   

    但是问题是,tmp.php中储存着其他众多的模板文件,而我紧紧是需要模板文件中的$tmp这个模板而已
      

  19.   

    不明白楼主,这样做不好用?//tmp.php content
    $format0="<a href=\"/index.php?uid=%d\">1 </a>";
    $format1="<a href=\"/index.php?uid=%d\">1 </a>";
    $format2="<a href=\"/index.php?uid=%d\">1 </a>";
    $format3="<a href=\"/index.php?uid=%d\">1 </a>";//include('tmp.php');
    $uid=10;
    echo $getstring=printf($format0,$uid);
      

  20.   


    楼主可以用不同的变量名进行区分,或者把tmp.php分开,这样不是更好吗,分层也比较好,储存在同一个文件,处理起来既麻烦效率又低。
      

  21.   

    朋友说的可以用不同的变量名进行区分,是不是把不同的模板块储存到不同的变量中,我是这样做的如果把tmp.php都分成多个文件,这样做就会有N各文件吧,哎,这问题咋让我一弄这么费劲,麻烦了
      

  22.   

    用单引号括起来就可以了,单引号内的$是不会被解析的
    <?
    $tmp='<a href="/index.php?uid=$uid"> </a>'; 
    ?>
      

  23.   


    不同调用的模板都是这样的啊???你看看Discuz的模板,大多都是这样,分类的,这样好调用,层次比较清晰。