很長一段時間的第一個問題!我需要從facebook頁面請求(我使用graphi api請求一個頁面的網站)返回的字符串中找到任何和所有網址,並將該值放入一個數組中,隨後我將其顯示在可數據表的js表中。如何分配複雜的正則表達式到php變量
無論如何,我有問題,當我構建JSON數據的數據表,它打破了在某些情況下: -
http://socialinsightlab.com/datatable_fpages.json
的問題是與網站領域中,具有錯誤的字符/結構/空白空間等。
無論如何,我找到了一個完美的正則表達式來查找該字段中的所有網站(可以有多個網站列在返回中)。
的正則表達式是
(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»「」‘’]))
當我嘗試並將其分配給一個PHP變量作爲preg_match_all我不能,因爲它不會接受正則表達式串入變量,因爲它有引號是我猜測。
所以我的問題是如何只提取在網站字段中找到的網址,然後將它們分配給一個變量,所以我可以將它們添加到數據表。
這是一個失敗的調用的例子: -
http://socialinsightlab.com/datatable_fpages.json
我需要能夠只返回網站,僅此而已。
任何想法?
感謝
喬納森
所以你真正的問題是:「我怎麼一個字符串分配到包含引號字符變量?」?請顯示您嘗試這樣做的代碼行。謝謝。 – arkascha
添加分隔符,轉義引號 - RegEx應該沒有問題。 – CD001
並告訴數據源,如果他們想發佈JSON數據,它應該是有效的JSON數據 – RiggsFolly