了用於提取網址我使用這個表達式:添加 - >作爲分隔符URL模式
'/https?\:\/\/[^\",\s\]\|]+/i'
(飾面與空間」,逗號或|)
的問題是我還需要添加「-->
」(3個符號-->
)作爲URL的休息。但沒有運氣。
PS我知道這是不是一個完美的URL驗證然而URL存儲在字符串中的數據庫和空間,逗號「,|和 - >絕對是URL的分隔符(如果在最後遇到)。
了用於提取網址我使用這個表達式:添加 - >作爲分隔符URL模式
'/https?\:\/\/[^\",\s\]\|]+/i'
(飾面與空間」,逗號或|)
的問題是我還需要添加「-->
」(3個符號-->
)作爲URL的休息。但沒有運氣。
PS我知道這是不是一個完美的URL驗證然而URL存儲在字符串中的數據庫和空間,逗號「,|和 - >絕對是URL的分隔符(如果在最後遇到)。
對不起,但http://www.example.com/img/ri/3742-17測試不通過,因爲它削減了短劃線的位置。抱歉。 – Haradzieniec
@Haradzieniec檢查更新的答案。現在它應該工作:) – m87
要停止多字符分隔符,圖案是重複提前1個字符,直到找到在先行的分隔符:
(?:(?!delimiter).)*
你的情況:
https?://(?:(?!-->)[^",\]\s|])+
我的建議是增加一個模式,包括一切,如'模式 - >(。*?)'和preg_match函數,你可以選擇第一個,但第二個,所以這將工作,我猜。 –