正規表現について質問する

WBOY
WBOYオリジナル
2016-06-23 14:25:171084ブラウズ

Web ページのアドレス内のすべての画像アドレスと一致させたい場合は、次のように正規表現を記述します:

$reg="/<img\s*.*src\s*=\s*[\"|\']?\s*([^>\"\']*)/i";


画像ファイルのアドレスが次のようなのはなぜですか:
<img src="../Images/Album Cover/album_012.jpg">

のみ一致します:
<img src="../Images/Album

一致すると終了します。空間に到達しますか?
([^>"']*) この条件にはスペースを含めることはできません?


ディスカッション (解決策) への返信

規則性は正しいです。分析のためにコードを投稿することをお勧めします。

$reg="/<img\s*.*src\s*=\s*[\"|\']?\s*([^>\"\']*)/i";$s = '<img src="../Images/Album Cover/album_012.jpg">';preg_match_all($reg, $s, $m);print_r($m);
Array
(
[0] => 配列
(
[0] => 7cc81ceff7b6c3a6f25bad8abda7e105 )

)

ファイルにコピーして実行したところ、結果は空の配列でした。 / album_012.jpg
)

)

)

とても奇妙です。 。 。私はChromeを使用しており、出力は次のとおりです:
$url=$_POST['url'];				$rs=parse_url($url);				$main_url=$rs['host'];				$baseurl=substr($url,0,strrpos($url, '/')+1);				$message=file_get_contents($url);				$reg="/<img\s*.*src\s*=\s*[\"|\']?\s*([^>\"\']*)/i";				preg_match_all($reg, $message, $matches);				for($i=0;$i 

配列は完全には出力されていません。 。次の括弧は消えています


「Web ページのソース コードの表示」を最後まで見てください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。