Mój problem pochodzi z rozwijanego menu HTML, nie można zachować wielu kolejnych białych znaków w opcjach. Oto przykładowa testcase i wynik. Css "white-space: pre" wydaje się działać tylko dla dowolnego elementu html z wyjątkiem opcji select element. Czy istnieje literatura lub przypadki identyfikujące taki problem? Wszelkie sugestie/doradzić pomocnyZachowaj odstępy w html wybierz opcje elementów za pomocą "white-space: pre" NOT working
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>";
wynik wygląda tak:
preinstalowanym Jak widać w „p” elementów znacznika (oraz wszelkie inne, które starałem użyciu, działa dobrze formatowanie tekstu z " spacje”style css. Jednak wybór nie.
na wybór, aby zobaczyć ciąg wartości pozycja i długość łańcucha (długość powinien mieć już 10 zamiast 7,«abc def»to 8 znaków w długość)
Każda pomoc doceniona. ;)
LUHFLUH
dziękuję @Teoulas, uzyskałem wgląd z twoją sugestią. Zastąpiłem wszystkie białe znaki "" z " " za pomocą str_replace '$ str1 = str_replace (" "," ", $ str1); ..... 'dla każdej wartości opcji. Kinda jest do bani, jak takie kwestie nie są przynajmniej udokumentowane ... zajęło mi trochę czasu, aby znaleźć Twoją sugestię;)! Jeszcze raz dziękuję – luhfluh
Jedną rzeczą, na którą należy zwrócić uwagę przy takim rozwiązaniu, jest to, że ponieważ nie jest to przestrzeń łamania, nie zostanie przerwana. Oznacza to, że każdy długi tekst, który to zrobisz, pozostanie w jednym wierszu. Jeśli wiesz, że modyfikowany tekst jest krótki, to rozwiązanie działa świetnie. Nie działało to w moim przypadku z wprowadzaniem przez użytkownika, które jest bardzo często dość długie. – Colin