[英]PHP str_replace() not working as expected
我在這里獲得此代碼:
<?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_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
。 但是我相信,代替str_replace()
使用preg_replace()
更好。
$loginLinks = preg_replace(
"/(member_profile|member_account|logout|login|register_form)/",
"php_includes/$1",
$loginLinks
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.