Witam,
Jak mogę zrobić, aby skrypt PHP usuwał puste divy?
Podaj może trochę więcej informacji...
Może coś takiego:
str_replace('<div></div>', '', $text);
@Gouda105: Czym są według Ciebie puste divy? Kontenerami bez jakiejkolwiek treści? Kontenerami bez widocznej treści (np. biały tekst na białym tle)?
Dodatkowo zdaje się, że mamy do czynienia z problemem X/Y - co próbujesz osiągnąć?
$nazwyproduktow = $_SESSION['nazwyproduktow'];
$tablicaProduktow = explode(",", $nazwyproduktow);
$zakodowaneProdukty = serialize($tablicaProduktow);
$_SESSION['zakodowaneProdukty'] = $zakodowaneProdukty;
I jak wstawiam to do divów -
<div class="produkt"><?php echo $odkodowana[0]; ?></div>
<div class="produkt"><?php echo $odkodowana[1]; ?></div>
<div class="produkt"><?php echo $odkodowana[2]; ?></div>
<div class="produkt"><?php echo $odkodowana[3]; ?></div>
<div class="produkt"><?php echo $odkodowana[4]; ?></div>
<div class="produkt"><?php echo $odkodowana[5]; ?></div>
<div class="produkt"><?php echo $odkodowana[6]; ?></div>
<div class="produkt"><?php echo $odkodowana[7]; ?></div>
<div class="produkt"><?php echo $odkodowana[8]; ?></div>
<div class="produkt"><?php echo $odkodowana[9]; ?></div>
to nie zapełnia każdego, tylko losowo, więc chcę pousuwać te, które są puste.
Whoa - czyli dobrze myślałem: mamy do czynienia z problemem X/Y ;-)
Zamiast usuwać puste divy, może po prostu nie generuj żadnych pustych elementów?
foreach ($odkodowana as $odkodowanyProdukt) {
echo '<div class="product">' . $odkodowanyProdukt . '</div>';
}
Komentarze zaczęły się trochę rozrastać - wróćmy do postów:
Zrobiłem z nich tablicę dałem ramkę, i patrzę, że pomiędzy nimi są puste wiersze (tr). Jak temu zapobiec?
Pokaż kod.
<?php
foreach ($odkodowana as $odkodowanyProdukt)
{
echo '
<tr class="wiersz">
<td class="rekord">' . $odkodowanyProdukt . '</td>
</tr>';
}
?>
A tu kod na $odkodowana:
$nazwyproduktow = $_SESSION['nazwyproduktow'];
$tablicaProduktow = explode(",", $nazwyproduktow);
$zakodowaneProdukty = serialize($tablicaProduktow);
$_SESSION['zakodowaneProdukty'] = $zakodowaneProdukty;
nazwyproduktow to zmienna na wzór czegoś takiego: ciag1,ciag2. Chyba Pan pomagał mi ją robić.
Mógłbyś pokazać, co zwróci Ci var_dump($odkodowana)
?
foreach ($odkodowana as $odkodowanyProdukt) {
if (mb_strlen($odkodowanyProdukt) === 0) {
continue;
}
echo '
<tr class="wiersz">
<td class="rekord">' . $odkodowanyProdukt . '</td>
</tr>';
}
Przy czym nasuwa się pytanie: dlaczego w ogóle masz tam jakieś puste wiersze? Skąd one się biorą?