многократная вставка результата скрипта

Я пытаюсь импортировать содержимое некоторых ссылок в базу данных, используя следующий скрипт

$url = "http://example.com";
$html = file_get_html($url)->plaintext;
$extract = str_replace("'", "\'", $html);

$sqlinsert = "INSERT INTO links (url, text) values ('".$url."', '".$extract."')";

У меня есть список из 500+ ссылок, с которыми я хочу запустить вышеописанный скрипт, но я хочу сделать все это вместе, а не по ссылке.

Есть ли способ сделать это с помощью цикла или я должен сделать это с другой логикой?

0

Решение

Вы можете это с петлей. Определить массив будут все ссылки / URL. Цикл, чтобы получить текст и выполнить запрос вставки.

// define an array
$links = array('http://example.com',
'http://example1.com',
'http://example2.com',
.........
'http://example500.com',
);

// loop the array
foreach($links as $link){
$url = $link;
$html = file_get_html($url)->plaintext;
$extract = str_replace("'", "\'", $html);
// insert query
$sqlinsert = "INSERT INTO links (url, text) values ('".$url."', '".$extract."')";
}
1

Другие решения

Вы можете поместить все ссылки в файл (по одной ссылке на строку), а затем использовать file() функция для помещения ссылок в массив, чтобы вы могли зацикливаться, например так:

$urls = file('links.txt');
foreach($urls as $url) {
$html = file_get_html($url)->plaintext;
$extract = str_replace("'", "\'", $html);
$sqlinsert = "INSERT INTO links (url, text) values ('".$url."', '".$extract."')";
}

Кроме того, я не знаю, какой движок базы данных вы используете, но я рекомендую вам прочитать о готовые заявления, поскольку объединение значений в инструкции SQL приводит к проблемам с безопасностью.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector