簡體   English   中英

PHP str_replace()無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM