Räume in html shouldn Attribute Es ist kein Problem (denken Sie nur an das style
Attribut: style="background-color: #F63;"
hat ein Leerzeichen drin, wird aber trotzdem funktionieren. Wenn das Daten werden mit Ajax gesendet, aber Chancen, es wird URL-codiert (@Brad: urlencode
ist was du meintest, vermute ich).
Da Sie sagen, dass die Daten aus einer SQL-Tabelle kommen, sind die Chancen, dass die Daten selbst übergeben wird entweder in einem Objekt oder einem Array in PHP gespeichert. Wenn ja, warum nicht nur json_encode
die Daten und in Javascript: JSON.parse(document.getElementById('theId').value);
. Dies gibt Ihnen ein Objekt in JS, das alle Daten enthält, die Sie haben. Wenn nur 1 String erforderlich ist, können Sie die Verwendung json_encode
indem Sie Ihre Daten in einem Wrapper Array Bank, und dass kodieren ...
Sie stellen Sie sicher, SINGLE Anführungszeichen, wenn Sie Zeichenfolge dies zu HTML verwenden:
<?php
$dbArray = array('this', 'array', 'contains','your','data', 'with spaces');
$html= '<input type="hidden" id="hiddenArray" value=\''.json_encode($dbArray).'\'/>';
Wenn Sie einfache Anführungszeichen das Element verwenden werden malformed, da json codierten Arrays in ihnen doppelte Anführungszeichen haben:
<input type="hidden" id="hiddenArray" value='["this","array","contains","your","data","with spaces"]' />
Könnte nicht sexy aussehen, aber wie Sie sehen können, würde doppelte Anführungszeichen die Verput gesetzt haben ts value to [
... Dadurch werden keine Leerzeichen entfernt, aber sie verursachen auch keine Probleme.
Die Ausgabe von 'htmlentities ('hey you');' '' hey you' nicht 'hey% 20you' und [' unescape' ist veraltet] (https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Funktionen # escape_and_unescape_functions), da es Nicht-ASCII nicht korrekt behandelt. – Quentin