как скрыть элемент spesifi c от XML? - PullRequest
2 голосов
/ 23 февраля 2020

Мой код:

$title = 'Ev 134';

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=601') as $f ) {
      if (strpos($f->title, $title) !== false) {
          $feedToArray[] = base64_encode(json_encode($f)); // <------ hash result in new array
      }
  }

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) {
      if (strpos($f->title, $title) !== false) {
        $feedToArray[base64_encode($f->description)] = base64_encode(json_encode($f));

      }
  }

  $newArray = array_unique($feedToArray); // <--- remove duplicated hashed results

  // loop new array
  foreach($newArray as $hash ) {
      $f = json_decode(base64_decode($hash)); // <-- decode hash and use to echo.
      if (strpos($f->title, $title) !== false)
          echo "<span style='font-weight: 600;'>". $f->title.":". "</span>". "<br>". $f->description. "<br>";
  }

пример вывода:

Ev 134 Seljestad - Horda, på strekningen Jøsendal - Røldal (Vestland) :
Kolonnekjøring: Kolonnekjøring på grunn av uvær. Gjelder fra: 22.02.2020 20:18

Ev 134 Haukelifjell (Vestfold og Telemark/Vestland) :
Midlertidig stengt: Stengt på grunn av uvær. Blir ikke åpnet i dag. Gjelder fra: 22.02.2020 09:16

Ev 134 Oslofjordtunnelen, på strekningen Drammen - Vassum (Viken) :
Midlertidig stengt: Stengt i periodene: Mandag til fredag fra 07:00 til 09:00 og fra 15:00 til 18:00 for kjøretøy med totalvekt over 32 tonn. Gjelder fra: 22.01.2020 07:00 Gjelder til: 31.12.2020 18:00

Я не хочу показывать:

Ev 134 Oslofjordtunnelen, på strekningen Drammen - Vassum (Viken) :
Midlertidig stengt: Stengt i periodene: Mandag til fredag fra 07:00 til 09:00 og fra 15:00 til 18:00 for kjøretøy med totalvekt over 32 tonn. Gjelder fra: 22.01.2020 07:00 Gjelder til: 31.12.2020 18:00

, потому что это не относится к информации меня. в основном я не хочу показывать заголовок и описание элемента с Ev 134 Oslofjordtunnelen, på strekningen Drammen - Vassum (Viken) в качестве заголовка.

Любая помощь очень ценится!

1 Ответ

3 голосов
/ 23 февраля 2020

Смотрите здесь:

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=601') as $f ) {
    if (strpos($f->title, $title) !== false) {
        if ($f->title !== 'Ev 134 Oslofjordtunnelen, på strekningen Drammen - Vassum (Viken)') {
          $feedToArray[base64_encode($f->description)] = base64_encode(json_encode($f)); // <------ hash result in new array
        }
    }
  }

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) {
    if (strpos($f->title, $title) !== false) {
        if ($f->title !== 'Ev 134 Oslofjordtunnelen, på strekningen Drammen - Vassum (Viken)') {
          $feedToArray[base64_encode($f->description)] = base64_encode(json_encode($f)); // <------ hash result in new array
        }
    }
  }

  //$newArray = array_unique($feedToArray); // <--- remove duplicated hashed results

  // loop $feedToArray <------------------------
  foreach($feedToArray as $hash ) {
      $f = json_decode(base64_decode($hash)); // <-- decode hash and use to echo.
          echo "<span style='font-weight: 600;'>". $f->title.":". "</span>". "<br>". $f->description. "<br>";
  }

Редактировать:

Попробуйте: для значения массива вы можете использовать только json_encode:

$feedToArray[base64_encode($f->description)] = json_encode($f);

и json_decode:

 $f = json_decode($hash); // <-- decode hash and use to echo.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...