代码之家  ›  专栏  ›  技术社区  ›  Joaquin Arias Simone

精确字符串替换为preg\u replace()[关闭]

  •  -2
  • Joaquin Arias Simone  · 技术社区  · 8 年前

    我尝试替换此字符串时遇到问题:

    str1 = "mysql_connect($dbhost.':'.$dbport, $dbusername, $dbuserpass);";
    

    使用另一个字符串:

    str2 = "$con = mysqli_connect($dbhost,$dbusername,$dbuserpass,"normativa",$dbport);";
    

    $text = str_ireplace($str1,$str2,$text);
    

    问题似乎在于。(点)在第一个字符串中。我试着用“.”逃离它但是运气不好。

    对于dot或另一个php函数,还有其他转义方法来完成同样的事情吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Imran Abdur Rahim    8 年前

    您使用的是双引号,每个 $ 作为变量。 试试这个:

    $text = str_replace('mysql_connect($dbhost.\':\'.$dbport, $dbusername, $dbuserpass);','$con = mysqli_connect($dbhost,$dbusername,$dbuserpass,"normativa",$dbport);', $text);