Задать вопрос
@paulvales

Как работает in_array в foreach?

Здравствуйте. делаю парсер с помощью simple dom html.
//получили список артикулов строкой - преобразуем в массив 
$articles=explode("\n", $_POST["art"]);
//урл для парсинга
$html = file_get_html($_POST["url"]);
//перебор ссылок
foreach ($html->find('a.productLink') as $e) {
//получение непосредственно ссылки
$e=$e->href;
//в ссылке есть артикул, убираем все кроме него
$skuhref=preg_replace("/\D/","",$e);
//если в артикулах присутствует такая комбинация цифр то делай
if (in_array($skuhref, $articles)) {
...действие....

Но не работает, вводил два артикула, вывел только последний, ввожу 3 артикула ничего не выводит.
P.S. все артикулы которые вводил точно есть в ссылках
  • Вопрос задан
  • 201 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
dzheka3d
@dzheka3d
Предположу, что возможно, в ссылке есть цифры кроме тех, которые у вас равны артиклю в итоге при preg_replace они соединяются в одно целое, что не идентично тем артиклям, что вы вводите.
Сделаейте вывод $skuhref
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы