Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP str_replace()未按预期工作_Php_Str Replace - Fatal编程技术网

PHP str_replace()未按预期工作

PHP str_replace()未按预期工作,php,str-replace,Php,Str Replace,我在这里得到了这个代码: <?php include_once("php_includes/loginLinks.php"); str_replace("member_profile","php_includes/member_profile",$loginLinks); str_replace("member_account","php_includes/member_account",$loginLinks); str_replace("logout","php_includes/l

我在这里得到了这个代码:

<?php 
include_once("php_includes/loginLinks.php");
str_replace("member_profile","php_includes/member_profile",$loginLinks);
str_replace("member_account","php_includes/member_account",$loginLinks);
str_replace("logout","php_includes/logout",$loginLinks);
str_replace("register_form","php_includes/register_form",$loginLinks);
str_replace("login","php_includes/login",$loginLinks);
echo $loginLinks;
?>

它应该更改链接的根文件夹,我很确定其中有一些逻辑错误

问题:
如何将新回显链接目录的链接目录更改为另一个目录,或者是以另一种方式更改它(我对PHP非常陌生,所以不太擅长)?

您必须使用
str\u replace
操作的结果更新变量,如下所示:

<?php 
include_once("php_includes/loginLinks.php");
$loginLinks = str_replace("member_profile","php_includes/member_profile",$loginLinks);
$loginLinks = str_replace("member_account","php_includes/member_account",$loginLinks);
$loginLinks = str_replace("logout","php_includes/logout",$loginLinks);
$loginLinks = str_replace("register_form","php_includes/register_form",$loginLinks);
$loginLinks = str_replace("login","php_includes/login",$loginLinks);
echo $loginLinks;
?>


str_replace
不修改原始变量,但返回新值。这里我用更新后的值更新$loginLinks。

您的错误是没有将替换项分配到
$loginLinks
中。但是,我相信使用
preg\u replace()
会比使用
str\u replace()
更好地满足您的需要

$loginLinks = preg_replace(
    "/(member_profile|member_account|logout|login|register_form)/",
    "php_includes/$1",
    $loginLinks
);

a) 它不根据参考资料行事。您必须将结果分配回
$loginLinks
,b)如果您能展示
$loginLinks
中包含的内容、您获得的结果和预期结果,这将非常有用谢谢您Brandon,他帮助了我,在10分钟之前无法接受此帖子。