2011-11-28 39 views
0

我需要從大段落中過濾某個值。如何過濾長字符串中的值

下面是一個例子字符串:

TitleCore PHP編程普倫蒂斯霍爾PTR核心seriesAuthorsLeon 阿特金森,茲夫SuraskiEdition3,illustratedPublisherPrentice廳 專業,2004年* ISBN0130463469,9780130463463 * Length1072 pagesSubjectsComputers>網絡>綜合計算機/互聯網/ 網頁設計計算機/網絡/普通計算機/ 編程/一般計算機/編程語言/常規 計算機/網絡/通用電子書籍PHP(計算機編程語言 )網站網站/設計& nbspExport CitationBiBTeX 的EndNote RefMan

首先,我需要提取這個值ISBN0130463469, 9780130463463,然後過濾上面9780130463463

我有很多像這樣的段落。唯一的標識符是文本「ISBN」。

回答

3

使用preg_match_all以及諸如圖案:

/ISBN\d+, (\d+)/ 

應該工作。此外,如果您還需要此號碼,則可以將第一個\d+包括在括號中。

+0

工作示例,btw:http://regexr.com?2vamn&IDEOne版本(作爲PHP腳本):http://www.ideone.com/LFq3V –

+0

我猜這些數字是ISBN-10和ISBN -13這些書,所以第一個'\ d +'應該是'[xX \ d] +' – Niko

+0

@Niko:如果是這樣的話,那麼正確的,它應該改爲一個類。我對ISBN格式不太瞭解,所以如果應該有非數字字符,應該修改。 –

-2

str_ireplace('ISBN','','ISBN0130463469');