2012-04-20 13 views
1

私はPHPを使ってイメージへのパスを操作しようとしています。 パスには変数userdirectoryが含まれているので、私はこれを書く方法に苦労しています。変数を含む文字列を爆発

は、アイブ氏行うために使用:

$texthtml = $content; 
if (preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image)) { 
$promopic = $image['src']; 
} 

私のコンテンツの画像がある場合に見つけて、そこから変数を作成します。それは動作しますが、私はpageloadの理由のためにサムネイルディレクトリから画像を読み込むために私のコードを変更する必要があります。

画像SRCは、次のようになります​​

しかし、私は、それはこのようにしたい:/ mcith /及び画像にmcith_prefixを追加

"/uploads/userdirs/admin(variable)/mcith/mcith_image.jpg"

。 私はそれを爆発すると思っていますが、私は可変経路でそれを行う方法を知らない。任意のポインタが大いに感謝!

+0

義務は、正規表現コメントでHTMLを解析することはできません。 –

+0

@Dotmisterこのようなコメントは避けてください。彼らは騒音を発生させるためだけに役立ちます。 – Sampson

+0

@Havihavi文字列を分解したり(部分的に配列になる)、その文字列の一部を置き換えて新しい文字列にするだけですか? – Sampson

答えて

1

あなたは、このさまざまな方法を行うことができますが、私はおそらくこのためpathinfo()を使用します。

$path = pathinfo($promopic); 
$thumb = $path['dirname'] . '/mcith/mcith_' . $path['basename']; 
+0

偉大な働いた!私はpathinfoを読まなくてはならない。すごいもの、ありがとう=) – Havihavi

+0

@ハビハビ:私は助けてよかった。 :-) – FtDRbwLXw6

0

非常に単純なバージョン、改善を使用することができ

preg_replace('/\/([a-zA-Z0-9]+\.[a-zA-Z0-9]{3,4})$/', '/mcith/mcith_$1', '/uploads/userdirs/admin(variable)/image.jpg'); 
関連する問題