字符串替换为某些格式

时间:2020-09-10 03:39:48

标签: php str-replace

我可以知道如何按照以下格式对字符中的某些符号使用字符串替换吗?

下面是我想要的结果示例,我只想替换符号内的前面的数字:

Before                                                  |     After (Expected result)
100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang        100-1/1 Penggubalan/Penyediaan/Pindaan Undang-Undang
100-1-1-16 Undang-Undang Kecil Hotel/test                   100-1/1/16 Undang-Undang Kecil Hotel/test

带符号的数字内部格式需要更改,XXX是固定数字的总格式,()是随机数字的总格式:

xxx-()-()      change to  xxx-()/()
xxx-()-()-()   change to  xxx-()/()/()

下面是我尝试的编码:

$try = "100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang";
$try_1 = "100-1-1-16 Undang-Undang Kecil Hotel/test";
$test = str_replace('-','/',trim($try));
$test_2 = str_replace('-','/',trim($try_2));

echo $test;
echo $test_2;

1 个答案:

答案 0 :(得分:0)

下面是一种非常幼稚的方法,但它可以工作。

<?php 
function replaceHyphen($str) {
    $i = -1;
    for($i=0; $i < strlen($str); $i++) {
        if($str[$i] == "-") break;
    }
    for($i++; $i < strlen($str); $i++) {
        if($str[$i] == "-") $str[$i] = '/';
        if($str[$i] == " ") break;
    }
    return $str;
}
$try = "100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang";
$try_1 = "100-1-1-16 Undang-Undang Kecil Hotel/test";

echo(replaceHyphen($try));
echo(replaceHyphen($try_1));
?>