如何只替换一个字符串?

时间:2020-03-19 15:06:10

标签: php mysql replace

我有一个数据库和下面的字符串:

Test§Test1§Test2§Test3§Test4

现在,我已经编写了这段代码,用新的代码替换其中的一个字符串:

<?php
    $OldName = mysqli_real_escape_string($mysqli, $_GET['param2']);
    $NewName = mysqli_real_escape_string($mysqli, $_GET['param3']);
    try {
        $mysqli->query("UPDATE " . $Usr . " SET Categories = REPLACE(Categories, '§" . $OldName . "', '§" . $NewName . "')");
    } catch (Exception $e) {

    }

    try {
        $mysqli->query("UPDATE " . $Usr . " SET Categories = REPLACE(Categories, '" . $OldName . "', '§" . $NewName . "')");
    } catch (Exception $e) {

    }

    try {
        $mysqli->query("UPDATE " . $Usr . " SET Categories = REPLACE(Categories, '§" . $OldName . "', '" . $NewName . "')");
    } catch (Exception $e) {

    }

    try {
        $mysqli->query("UPDATE " . $Usr . " SET Categories = REPLACE(Categories, '" . $OldName . "', '" . $NewName . "')");
    } catch (Exception $e) {

    }
?>

当我尝试仅替换“列表”中名为“测试”的第一项时,此方法但是有效,然后 它替换了该字符串中的每个Test,不仅是第一个Test,而且我尝试将其过滤掉。

在我的情况下,如何仅用分隔符§替换要替换的字符串?

希望您能理解我的问题。

0 个答案:

没有答案