2010-12-27 8 views
0

は私がカールしてもらう$source VARを持っており、以下のコメントアウト文字列PHP正規表現のHTML

//"url":"http://lh5.ggpht.com/_EpgGIto9934/TKXKqAw7uFI/AAAAAAAAGrM/PrQiCNyUdEo/8827.jpg"," 
$regex = "!url/"/:/"(.*)8827/.jpg!U"; 
preg_match_all($regex, $source, $res); 
var_dump($res); 

が含まれている私は私が間違って何をhttp://.....jpgアドレス をやって取得したいですか? ありがとう

+1

どのような文字列ですか?それはどこから来たのですか?私はこれがRegexを必要としないと思う。 –

+1

あなたが間違っていたことについても:エスケープする。それはバックスラッシュであり、 '/'ではありません。 – mario

答えて

4

jsonのようです。その場合、正規表現は必要ありません。あなただけのあなたはすべての3つの文字の拡張のために動作することを正規表現

http.+\....(?=",".+) 

を使用することができjson_decode

<?php 

$s = "//\"url\":\"http://lh5.ggpht.com/_EpgGIto9934/TKXKqAw7uFI/AAAAAAAAGrM/PrQiCNyUdEo/8827.jpg\",\""; 

$regex = '/http(.+)\.jpg/'; 
preg_match($regex, $s, $matches); 
echo $matches[0]; 

?> 
0

を使用することができます。

1
<?php 
$source = '"url":"http://lh5.ggpht.com/_EpgGIto9934/TKXKqAw7uFI/AAAAAAAAGrM/PrQiCNyUdEo/8827.jpg","'; 
$regex = '/^.*\/([^\/]+\.jpg).*$/'; 
preg_match($regex, $source, $res); 
print_r($res); 
$jpg = $res[1]; 
?>