PHP忽略字符串中的$字符

时间:2016-05-03 21:50:37

标签: php escaping

我正在使用以下功能:

function replace_password_line($data) {
    $password = "Ga$man";
    if (stristr($data, 'password_here')) {
     return str_replace('password_here', $password, $data);
    }
    return $data;
}

我的问题是字符串中的$与变量混淆,输出导致“password_here”被替换为“Ga”... $和之后的所有内容都被取消了。似乎是它与变量混淆。

我该如何解决这个问题?我可以在字符串中使用$吗?

1 个答案:

答案 0 :(得分:1)

您最好的选择是使用单引号。双引号允许变量包含在字符串内,而单引号则不包含。

 {%for c in agents %}
    {%if (( c.direction == app.user) )%}
         <tr class="odd gradeX">
             <td>{{c.id}}</td>                                                              
             <td>{{c.nom}}</td>
             <td>{{c.prenom}}</td>
             <td>{{c.Poste}}</td>
             <td><div class="checkbox">
                  <center><label>
                          <input type="checkbox" value="" name="check{{c.id}}">          
                          </label></center>
   </div></td> </tr>

      {%endif%}
            {%endfor%}