Witruimte vóór en na value
Ik wil graag een enkele spatie vóór en na een value en kan dit op deze manieren doen:
Of:
Kan optie 2 fouten in het "lezen" van de PHP veroorzaken, of is dit compleet veilig zo? Just curious.
Guido
Gewijzigd op 13/12/2020 13:19:19 door Guido -
Geen van beide: gebruik bij voorkeur CSS voor de presentatie en HTML alleen voor de inhoud.
Zo kun je het ook bekijken. Maar dan moet de value wel te benaderen zijn. Dus eigen class hebben, of in een span oid zitten.
Guido
Gewijzigd op 13/12/2020 17:12:28 door Guido -
Wat bedoel je met "Kan optie 2 fouten in het "lezen" van de PHP veroorzaken" ?
Ik ben er ook benieuwd naar, maar als er een fout in de code zit, zou dit moeten resulteren in een 'Parse error'.
Dus in plaats van:
Doe je:
Code (php)
1
2
2
<h1>Omschrijving</h1>
<p>Het product <?php echo $product_name; ?> is echt geweldig!</p>
<p>Het product <?php echo $product_name; ?> is echt geweldig!</p>
De variabele heeft dus de waarde zonder spaties, en bij het weergeven van de variabele zet je er in de html spaties omheen.
Soms, wanneer de spatie echt een onderdeel van de waarde is, kun je de spatie wél in php toevoegen. Bij voorbeeld bij het samenstellen van een volledige naam. De spatie is dan een essentieel onderdeel van de string.
Ward van der Put op 14/12/2020 08:31:55:
En uitzondering is bijvoorbeeld ook het bijeenhouden van een valutasymbool en een bedrag: mcdvoice
En zelfs dat kun je in CSS oplossen...
En zelfs dat kun je in CSS oplossen...
Thanks for Giving us Such a Great Information
Gewijzigd op 28/05/2021 07:13:00 door Formal Oracle
Neem bijvoorbeeld dit voorbeeld:
Code (php)
1
2
3
4
5
2
3
4
5
<!-- netjes inspringen voor de opmaak -->
<ul class="dropdownmenu">
<li><a href="?1">Optie 1</a></li>
<li><a href="?2">Optie 2</a></li>
</ul>
<ul class="dropdownmenu">
<li><a href="?1">Optie 1</a></li>
<li><a href="?2">Optie 2</a></li>
</ul>
Meerdere spaties en regeleinden worden behandeld als een enkele spatie.
Het resultaat is dat er tussen de verschillende <li>-elementen een spatie zit.
Dat wordt vervelend wanneer de items naast elkaar komen met CSS, dan zit die spatie wel eens in de weg.
De HTML broncode hoeft alleen maar leesbaar te zijn voor de browser.
Daarom maak ik gebruik van DOMDocument om HTML5 pagina's te tekenen.
Daarna kan je de (deel)pagina in één keer printen met $dom->saveHTML($dom->documentElement); // fixt encoding
De HTML komt er dan automatisch zo uit:
Code (php)
1
<ul class="dropdownmenu"><li><a href="?1">Optie 1</a></li><li><a href="?2">Optie 2</a></li></ul>
Wat betreft spaties voor opmaak, zoals monetaire getallen, zou ik UTF-8 ook in CSS gebruiken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
@charset "UTF-8";
.geld {
position: relative; /* eigen stacking context */
display: inline-block; /* voor vaste breedte */
width: 6em; /* breedte voor kleine bedragen */
text-align: right; /* voor onder elkaar uitlijnen */
font-family: monospace; /* precies uitlijnen*/
}
.geld:before {
content: ' '; /* <-- euro teken (Unicode U+20ac) + spatie */
position: absolute;
top: 0;
left: 0;
}
.geld {
position: relative; /* eigen stacking context */
display: inline-block; /* voor vaste breedte */
width: 6em; /* breedte voor kleine bedragen */
text-align: right; /* voor onder elkaar uitlijnen */
font-family: monospace; /* precies uitlijnen*/
}
.geld:before {
content: ' '; /* <-- euro teken (Unicode U+20ac) + spatie */
position: absolute;
top: 0;
left: 0;
}
En dan in de HTML:
Code (php)
1
2
3
4
5
2
3
4
5
<p>
<span class="geld">123,00</span><br/>
<span class="geld">78,00</span><br/>
<span class="geld">2.345,00</span>
</p>
<span class="geld">123,00</span><br/>
<span class="geld">78,00</span><br/>
<span class="geld">2.345,00</span>
</p>