我需要用preg_match_all
來表示PHP中的字符串,以查找零件並填充數據庫。我已經大部分制定了,但只是一部分,即時通訊掛了上找到測量部分:在字符串中解析出測量結果(長x寬x高)
這裏是我的字符串:
「NA153 - 火盆捏造從一個老式丙烷罐,會爲水景或玻璃上工作,可以添加一個不尋常咖啡桌以及,23H X 39W - $ 1200.00"
這是到目前爲止,我REG例如:
"%([A-Z0-9]{5}) #Find Sku
\s*\-?\s*
(.*)\s*\, # Find Title
\s*
.*([0-9][HWD])\s*\-? #Find Dimensions
\s*
\$([0-9\.]*) # Find Price
%x"
它正確地找到sku,標題和價格。但維它返回只有1「9W」
這裏是我的函數調用:
preg_match_all('{{regular expression}}', '{{string}}', $arr, PREG_PATTERN_ORDER);
任何幫助或洞察力將是我新的正則表達式將不勝感激。
+1幾乎沒有。注意我對貪婪,單引號和括號做了一些編輯。 – 2011-12-22 20:16:16
'。*'後面的'?'是一個很好的編輯,我沒有注意到,直到我把它扔進一個測試器。但是,我將括號放回原來的樣子 - 我的假設(可能是錯誤的!)是,OP想要一個捕獲組中的所有維度。 (例如,'23H x 39W'將被捕獲在一個組中) – ean5533 2011-12-22 20:21:47
嗯,一個捕獲組是我所希望的,但我會採取任何東西 – justinhilles 2011-12-22 20:24:24