我在这里得到了这段代码:
<?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中很新,所以不太擅长)?
答案 0 :(得分:5)
您必须使用str_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。
答案 1 :(得分:2)
您的错误是您没有将替换分配到$loginLinks
。但是str_replace()
使用preg_replace()
而不是$loginLinks = preg_replace(
"/(member_profile|member_account|logout|login|register_form)/",
"php_includes/$1",
$loginLinks
);
,而不是我相信你的需要。
{{1}}