我從一個陣列的比賽
一些字符串可能包含多個URL等字符串可能只是簡單的文本
如果字符串包含1個或多個字符串中搜索網址PHP檢查的preg_match那麼我想寫的URL只存儲他們在表中的網址。
否則,如果只包含文本,我還是想存儲在表中的文本。
這是我到目前爲止嘗試過的。
$urlList = $urlArrayVal[0]; //String within array
$regex = '/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $urlList, $matches);
$urls = $matches[0];
var_dump($urls);
// go over all links
foreach($urls as $url) {
$sql = "INSERT INTO urls (url) VALUES ('$urls')";
mysqli_query($link, $sql);
}
我現在卡住了。這隻會將URLS(如果有的話)寫入表中,忽略具有純文本的字符串。
任何幫助appreaciated
編輯:另外,如果一個字符串已經超過1個URL,我想所有的URL存儲在一個字符串,一列在表中。
計數匹配的數量,如果沒有,添加純文本。 – Halcyon
@doge感謝,我把你的建議,我設法解決我的問題 – Joe