替换某些文字

时间:2014-01-17 15:29:05

标签: php preg-replace strpos

我有以下代码:

    <?php
$actual_link = "domain.com/search/q/laptop/attr/price_range_11_50005/attr/23914175_laptop";
        if ($attribute->name == "Price range")
        {
            if (strpos($actual_link,'/attr/price_range_') !== false)
                {
                    $querystring = explode("&",preg_replace(array("/attr/price_range_[0-9_]+/", "", $actual_link)));
                }
            else
                {
                    $querystring = explode("&",$actual_link);
                }
                }
        }

由于某些原因它无法正常工作,代码应该用url上的任何内容替换当前的“/ attr / price_range”。

1 个答案:

答案 0 :(得分:1)

你的正则表达式错了:

preg_replace(array("/attr/price_range_[0-9_]+/", "", $actual_link)

当您使用正斜杠/作为delimiter时,您需要将其转义或使用其他分隔符:

preg_replace(array("/\/attr\/price_range_[0-9_]+/", "", $actual_link)

preg_replace(array("#/attr/price_range_[0-9_]+#", "", $actual_link)