2017-03-10 16 views
2

文字を文字列から削除し、指定された文字の次の2文字だけを削除する方法を探しています。特定の文字の後に一定数の文字を削除する

ここで、指定された文字とその後のすべてを削除するこのメソッドが見つかりましたが、私はsubstr関数が必要な処理を行うとは思いません。 ?category=abを削除します?category=を指定

/path/shop.php?category=ab&page=xy 

$variable = substr($variable, 0, strpos($variable, "By")); 

は例えば、私は、このコンテンツの文字列を持っています。

str_replaceを使用しない場合(abを指定することができないため)。

答えて

1

preg_replacepreg_quote機能を使用してソリューション:

$str = '/path/shop.php?category=ab&page=xy'; 
$v = '?category='; 
$result = preg_replace("/". preg_quote($v) .".{2}/", "", $str); 

print_r($result); 

出力:

/path/shop.php&page=xy 

.{2} -

0

をサブストリング指定された検索後、次の2つの文字のポイントは、ジャスト取得します2つの部分文字列:

$position = strpos($fullString, $removable); 
$sub1 = substr($fullstring, 0, $position); 
$sub2 = substr($fullstring, 
$position + strlen($removable), 
strlen($fullstring) -($position + strlen($removable))); 

$finalString = $sub1 + $sub2; 
関連する問題