Intereting Posts
Конфликт jQuery! Отображает белый экран на странице POST EDIT для WordPress Подключение к MYSQLi через терминал в Mac OS с использованием MAMP Возможно использование одного и того же объекта в OneToMany и OneToOne? Переопределить классы классов Yii 1.1.14 без их замены Запрос: поиск строки в поле базы данных Конструктор запросов базы данных иногда возвращает массив вместо объекта, запущенного как задание в очереди php $ _GET и неопределенный индекс Как конвертировать текст в изображения на лету? Magento 2 идет ужасно медленно (режим разработчика) Функция почты PHP не правильно настроена из заголовка Есть ли причина, по которой мне нужно использовать stripslashes для представленных пользователем данных? Номер строки журнала выполненного кода Java Как я могу опубликовать статью на странице Фан-сайта Facebook, используя PHP и Open Graph API PHP преобразует строку в hex и hex в строку Массовый импорт Laravel-Excel

Получите ul li строковые значения и сохраните их в переменной или массиве php

Я пытаюсь сохранить строковое значение элемента списка на моем веб-сайте в переменную / массив в PHP, чтобы сделать с ними некоторые условные проверки / утверждения. Мне немного сложно получить строковое значение элемента списка с помощью PHP, может ли кто-нибудь помочь?

Это разметка.

<div class="coursesListed"> <ul> <li><a href="#"><h3>Item one</h3></a></li> <li><a href="#"><h3>item two</h3></a></li> <li><a href="#"><h3>Item three</h3></a></li> </ul> </div> 

То, что я хочу идеально, – это либо переменная, либо массив, который содержит значения «Пункт один», «Пункт два», «Пункт три».

Попробуй это

 $html = '<div class="coursesListed"> <ul> <li><a href="#"><h3>Item one</h3></a></li> <li><a href="#"><h3>item two</h3></a></li> <li><a href="#"><h3>Item three</h3></a></li> </ul> </div>'; $doc = new DOMDocument(); $doc->loadHTML($html); $liList = $doc->getElementsByTagName('li'); $liValues = array(); foreach ($liList as $li) { $liValues[] = $li->nodeValue; } var_dump($liValues); 

Вам нужно будет проанализировать HTML-код, чтобы получить текст. Для этой цели можно использовать парсер DOM.

  $DOM = new DOMDocument; $DOM->loadHTML($str); // $str is your HTML code as a string //get all H3 $items = $DOM->getElementsByTagName('h3'); 

Возможно, было бы проще разобрать его в Javascript (возможно, используя jQuery), а затем отправить его на ваш PHP с помощью AJAX.

 // Javascript/jQuery var array = []; $("h3").each(function() { array.push($(this).html()); }); var message = JSON.stringify(array); $.post('test.php', {data: message}, function(data) { document.write(data); // "success" } 

Затем в PHP:

 <?php $data = $_POST['data']; // convert json into array $array = json_decode($data); // do stuff with your data // then send back whatever you need echo "success"; ?>