2016-10-08 10 views
0

/logo/picture.png

$url = "/logo/aa/picture.png"; 
$url = "/logo/bb/picture.png"; 
$url = "/logo/cc/picture.png"; 
+0

常にアルファベット2文字ですか? '/([a-z])\ 1 /'は '/'で置き換えます。 – chris85

+0

あなたの質問を[編集]して、あなたが試したことを教えてください。あなたはウェブを検索しようとしましたか?また、質問本体にPHPを指定する必要があります。 – strugee

+0

まあ、私はどのように正規表現syntaxisが動作するWebでそれを把握しようとしましたが、私はこれのための経験がありません。私はPHPのタグを置く、これは体にそれを言及する必要がありますか? – rololo

答えて

1

これは、そのURLの一部または何のURL部分を長持ちに含まれているものを気にしない代替手段です:

$urlParts = explode('/', $url); 
array_splice($urlParts, count($urlParts) - 2, 1); 
$url = implode('/', $urlParts); 
1

を取得するためにaa/ランダムまたは(スラッシュ)bb/zz/への手紙を削除する必要がありますあなたが行うことができます提供形成:

$str1 = substr($url,0,5); 
$str2 = substr($url,8,strlen($url)); 
$url = $str1.$str2; 

それは常に同じ形のない場合は、多分strpos機能を使って、プログラムでサブストリングのインデックスを決定することができます。詳細here

-1

ルカAngioloniソリューションは正しいですが、これは、より安定している:

$url preg_replace("/\/[a-z]{2}\//", "/", $url); 

これは以下のようにしても、URL上で動作します:/img/xz/picture.pngいますが、この/ig/aa/picture.pngのようなURLがある場合、これは/igなく/aa

を削除します
+0

これは有効な 'preg_replace'構文ではありません。これもあまりにも緩やかで、 'img'の' mg'を置き換えます。 – chris85

+0

私はhttps://regex101.com/の構文をチェックしていますが、この '$ url = preg_replace(" \/[az] {2} \/"、"/"、$ url) ; ' – Bizzy

+0

これはテスト済みで、これは' preg_replace( "/ \/[az] {2} \ /"、 "/"、$ url); 'URLが'/ig/aa/picture.img'それでも間違っています – Bizzy

関連する問題