Mi problema proviene del menú desplegable HTML que no puede conservar múltiples espacios en blanco consecutivos en sus opciones. Aquí hay un ejemplo de prueba y resultado. El css de clase "white-space: pre" parece funcionar solo para cualquier elemento html excepto las opciones de elementos seleccionados. ¿Hay literatura o casos que identifiquen tal problema? Cualquier sugerencia/aconsejan útiles resultadoConservar espacios en blanco en opciones de elementos de selección html utilizando "espacio en blanco: pre" NO funciona
print "<style>.keepwhitespace { white-space: pre }</style>
<p class='keepwhitespace'>abc def</p>
abc def
<br/>
<br/>select and options with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\" class='keepwhitespace'>
<option class='keepwhitespace'>Any </option>
<option class='keepwhitespace'>abc def </option>
<option class='keepwhitespace'> Any </option>
<option class='keepwhitespace'>abc def </option>
</select>
<br/>select with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\" class='keepwhitespace'>
<option >Any </option>
<option >abc def </option>
<option> Any </option>
<option>abc def </option>
</select>
<br/>options with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\">
<option class='keepwhitespace'>Any </option>
<option class='keepwhitespace'>abc def </option>
<option class='keepwhitespace'> Any </option>
<option class='keepwhitespace'>abc def </option>
</select>";
se ve así:
precargado Como puede verse en el "p" etiqueta de elemento (y cualquier otro que he intentado usar, trabajaron texto bien el formato con el " espacio en blanco" de estilo CSS. sin embargo, el sELECT no.
en la selección para ver la cadena de valor del artículo y la longitud de la cuerda (la longitud que debería haber sido 10 en lugar de 7, 'abc def' es de 8 caracteres en longitud)
Cualquier ayuda apreciada. ;)
LUHFLUH
gracias @Teoulas, tiene una idea con su sugerencia. Reemplacé todos los espacios en blanco '' por ' ' usando str_replace '$ str1 = str_replace (" "," ", $ str1); ..... 'para cada valor de opción. Es una lástima que esos problemas no estén al menos documentados ... tomó un tiempo encontrar tu sugerencia;)! gracias de nuevo – luhfluh
Una cosa a tener cuidado con esta solución es que, dado que es un espacio sin interrupciones, no se romperá. Eso significa que cualquier texto largo con el que haga esto se mantendrá en una sola línea. Si sabe que el texto que está modificando es corto, entonces esta solución funciona muy bien. No funcionó en mi caso con la entrada del usuario que a menudo es bastante larga. – Colin