2012-03-12 3 views
-2

私はPHPの正規表現パターンの初心者ですので、私はこのURLのパターンを作ってみました取得するために)正規表現パターン:するpreg_match(私のURLから3つの事

$turl=http://ss-3.domian.com/screenshot/50/18/screenshot_multiple/501800/501800_multiple_1_extra_large.jpg 

を私は3つの事を取得したいです: "3"、 "18分の50" は、 "501800"

だから私はこのコードを使用:私は$matches[1]=3; $matches[2]=50/18; $matches[3]=501800を使用する場合

preg_match('#http://ss-(.*?).domain.com/screenshot/(.*?)/screenshot_multiple/(.*?)/(.*?)_multiple_1_extra_large\.jpg#',$turl,$t_url) 

だから、私は数字が権利を取得すべき?

+2

あなたはそれを試してみたことがありますか? – ruakh

+0

ええ、私は試してみましたが、エラーが出ます:( – axis88

+2

"shud"がうまくいけばどうしたらいいですか?PHPにバグがあるかどうか聞いていますか? – ruakh

答えて

1
<?php 
$turl = 'http://ss-3.domain.com/screenshot/50/18/screenshot_multiple/501800/501800_multiple_1_extra_large.jpg'; 
preg_match_all('#http://ss\-([^\.]*)\.domain.com/[^/]+/([^/]*)/([^/]*)/[^/]*/([^/]*)/([^/]*)#msi',$turl,$match); 
// For testing 
var_dump($match); 
?> 

検索文字列に誤字(ドミノ)があり、引用符で囲まれていませんでした。この種のURLは変更される可能性が高いので、できるだけジェネリックな形にしておきながら、形状を維持してください。私たちがあなたの問題を知っていれば、可能ならばregexを使って再考すると思います。また、php.netの関数宣言を読むことは大きな助けとなり、アプリケーションの理解を深めることになります。

関連する問題