Проблема с массивом Strpos () - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь добавить текст каждого элемента массива.Но также я хочу добавить этот текст конкретных элементов массива.Вот почему я использовал strpos, но эта ошибка появилась.Strpos() expects parameter 1 to be string, array given

Вот мои коды:

$outline = 'outline/index.html';
$allDivs = [];
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
    if ($div->getAttribute('class') == 'p-articlelist-content-right') {
        if ($div != null) {
            $links = $div->getElementsByTagName('a');
            if ($links->length > 0) {
                $a = $links->item(0);
                $link[] = $a->getAttribute('href');
            } if(strpos($link, 'https://sumai.tokyu-land.co.jp') === 0) {
                foreach($link as $value) {

                    var_dump($value . $outline);

                }
            }
        }
    }
}

что мне здесь не хватает?Любая идея?Спасибо.

1 Ответ

0 голосов
/ 07 октября 2018

strpos работает со строками, $link - это массив, как говорится в сообщении об ошибке.Я думаю , что это то, что вы хотите:

if ($links->length > 0) {
  $a = $links->item(0);
  $linkRef = $a->getAttribute('href');
  if (strpos($linkRef, 'https://sumai.tokyu-land.co.jp') === 0) {
    // This will only work for urls that end on '/' but fail for example.com/index.html
    $linkRef .= $outline;
  }
  $link[] = $linkRef;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...