删除字符串的一部分而不使用substr

时间:2012-11-28 00:21:55

标签: php string substr

我有一个字符串,其中包含不同长度的不同字符串

示例:

/my-big-property/Residential/Sections-for-sale 

/my-big-property/Residential/for-sale 

我只想删除/my-big-property/,但因为substr似乎不起作用我还有其他选择吗?

4 个答案:

答案 0 :(得分:2)

您能否进一步解释substr不起作用?这似乎是一个非常简单的问题。

<?php
$a = "/my-big-property/Residential/Sections-for-sale";
$b = substr($a, 17);
echo $b;

如果第一个/和第二个/之间的初始字符串是可变的,那么这样的正则表达式就足够了:

<?php
$a = "/my-big-property/Residential/Sections-for-sale";
preg_match("/\/\S+?\/(.*)/", $a, $matches);
print_r($matches);

这将输出:

Array
(
    [0] => /my-big-property/Residential/Sections-for-sale
    [1] => Residential/Sections-for-sale
)

答案 1 :(得分:0)

substr工作正常,你只是没有正确使用它。这是一个功能,而不是一个程序。 它不会更改原始字符串,但会返回一个新的子字符串。

答案 2 :(得分:0)

最重要的建议解决方案是正确的,您只需使用以下内容:

$string="/my-big-property/Residential/Sections-for-sale";

$string = str_replace("/my-big-property/", "", $string);

答案 3 :(得分:0)

<?php
    $a = "/my-big-property/Residential/Sections-for-sale";
    $temp = explode('/my-big-property/',$a);
    $temp_ans = $temp[1];
    echo $temp_ans;
?>

将有两个数组一个将为空白,另一个将具有所需的值。