20
我在嘗試忽略某些字符之間的空格時出現問題。我一直在搜索幾天,似乎無法找到解決方案。可選空白正則表達式
這裏是我的代碼:
// Get Image data
preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch);
$image = $imagematch[4];
基本上這些都是一些場景,我有:
<a href="/wiki/File:Sky1.png" title="File:Sky1.png"><img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png"width="150" height="84"></a>
(注意缺乏寬度之間的空間= 「」 和src = 「」)
而且
<a href="/wiki/File:TallGrass.gif" title="File:TallGrass.gif"><img alt="TallGrass.gif" src="http://media-mcw.cursecdn.com/3/34/TallGrass.gif" width="150"height="150"></a>
(注意width =「」和height =「」之間沒有空格)
有沒有辦法忽略這些字符之間的空格?因爲我不是正則表達式專家。
謝謝!我將[\ s *]更改爲\ s?它現在可以工作! :) 謝謝! – jameslfc19
@ jameslfc19'\ s?'表示0或1個空白字符。但是,如果有多個空白字符會怎樣?你想要'\ s *',所以它會匹配0或** more **。順便說一句,你不想使用正則表達式來解析HTML。您想使用[這些](http://stackoverflow.com/q/3577641/1592648)方法之一。 –