我有一个带有不同长度的不同字符串的字符串
例子:
/my-big-property/Residential/Sections-for-sale
/my-big-property/Residential/for-sale
我只想删除/my-big-property/
但因为substr
似乎不起作用我还有什么其他选择?
你能通过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
)
<?php
$a = "/my-big-property/Residential/Sections-for-sale";
$temp = explode('/my-big-property/',$a);
$temp_ans = $temp[1];
echo $temp_ans;
?>
将有两个数组,一个为空白,另一个将具有所需的值。
最重要的是,您可以简单地使用以下正确的建议解决方案:
$string="/my-big-property/Residential/Sections-for-sale";
$string = str_replace("/my-big-property/", "", $string);
substr 工作正常,只是您没有正确使用它。它是一个函数而不是一个过程。它不会更改原始字符串,而是返回一个新的子字符串。