Красота 😡
Столкнулся с другой проблемой.
( [properties] => Array ( [descr] => Описание [volume] => 1.5 [weight] => 1.78 [ean] => 4027816010890 ) [images] => Array ( [0] => Array ( [name] => 0069a26c96ce1178de24f6a721ba061ec4.jpeg [order] => 2 ) ) [is_skipped_image] => [images_count] => 1 [rating] => 9162 [rating_4mycar] => 4027 [brand] => Febi )
echo $item["name"] . "<br>"; ничего не выдает
echo $item["brand "] . "<br>"; ничего не выдает
Как вывести name, brand 😕
Спасибо заработало.
Начинается теперь так
foreach ($matches as $nom) {$a=explode("<br>", $nom[2]);if (strpos($a[1], 0x20) !== false) { // ищем пробел$a[1] = ' Замена на <a href="/art?var=' . $a[1] . '">' . $a[1] . '</a>'; // если есть пробел}else {$a[1] = ''; //Если пробела нет.}
Еще бы ошибку убрать
<b>Notice</b>: Undefined offset: 1 in <b>/home/***/***/***/par.php</b> on line <b>88</b>
а в 88 строке
if (strpos($a[1], 0x20) !== false) {
На что здесь ругаться не понятно...
Можно отключить ошибки но это не вариант.
Дошло как сделать.
preg_match_all('#<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<div class=\"obsligne\">#', $htmlnew, $matches, PREG_SET_ORDER);foreach ($matches as $nom) {echo "<tr>\n\t<td>";echo $nom[1];echo '</td><td><a href="/art?var=';echo $nom[2] . '">';echo $nom[2];echo "</a></td>\n\t<td>";echo $nom[3];echo "</td>\n\t<td width=\"70%\">";echo $nom[4];echo "</td>\n</tr>\n";}
Но теперь другая проблема.
Есть строчка 1
<td>Данные 1</td><td>Данные 2</td><td>Данные 3<div class="obsligne">
<td>Данные 1</td><td>Данные 2<br>Данные 2,2</td><td>Данные 3<div class="obsligne">
Если строчка 1 нормально получается ссылкой, то строчка два получается в виде
<a href="/Данные 2<br>Данные 2,2">Данные 2<br>Данные 2,2</a>
$nom[2][1]
Но как пока не соображу 🙅
А подскажите как эти данные ($nom[1] и $art[1]) запихнуть в таблицу?
пока у меня так
$html = file_get_contents ("страница");echo '<table> <tbody> <tr><td>№</td><td>Артикул</td></tr>';preg_match_all('#<div class=\"repere\">(.*?)<\/div>#',$html, $matches, PREG_SET_ORDER);foreach ($matches as $nom) {echo $nom[1];} preg_match_all('#<div class=\"prsansprremp\">(.*?)<\/div>#',$html, $matches, PREG_SET_ORDER);foreach ($matches as $art) {echo $art[1];}echo '</tbody></table>';
Чувствую объединить цикл надо?
Примерно должно получиться
<tr>
<td>$nom[1]</td>
<td>$art[1]</td>
</tr>
[0] на [1] и норм стало )
LEOnidUKG
Не идет, только один заход делает.
А тот вариант который выше привел выводит все что надо, только меня смущает вот эта конструкция
#<div class=\"repere\">(.*?)</div>#
Выводит следующее
<div class="repere">01</div>01
А должна по идее выводить 01
Что то мне подсказывает что я не прав 🙅
<?php$html = file_get_contents ("страничка");preg_match_all('#<div class=\"repere\">(.*?)</div>#',$html, $matches);foreach ($matches as $nomq) {echo $nomq[0];}?>
выводится только <div class="repere">01</div>01
А вот так вроде заработало
$html = file_get_contents ("страничка");preg_match_all('#<div class=\"repere\">(.*?)</div>#',$html, $matches, PREG_SET_ORDER);foreach ($matches as $nomq) {echo $nomq[0];}
Примерно понял но если заменить
preg_match
на
preg_match_all
то все значения
Array
А все оказалось просто :)
if (isset($_GET['var'])) { $var = $_GET['var']; $var2 = ' - ' . $var . ', произвольный текст ' ; } $buffer .= $tab . '<title>' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8') . $var2 . '</title>' . $lnEnd;
Саму "конструкцию" if (isset($_GET['var']))... и тд... вставлял в самое начало файла 🙅
Не знаю правильно сделал или нет, но работает.