Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP][HTML]Wyświetlenie treści bez pojedyńczych znaków na końcu wiersza.
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Mam stronę na której treść wyświetlana jest od lewego do prawego marginesu.
Tu w zasadzie nie trzeba było podejmować żadnych czynności ponieważ treść układa się sama,
tzn. w jednej linii znajduje się tyle słów, ile jest się w stanie zmieścić. Jeśli ilość ta zostaje przekroczona przechodzi do następnej linii i tak w kółko.

I tutaj zaczynają się schody, każda przeglądarka wyświetla ten sam tekst inaczej.
Jeśli nawet na niektóre sprawy przymrużymy oko to zdarza się, że znak "a", "i", "w" lub "z" zostaje na końcu linii a następny wyraz jest przenoszony.
To wygląda nieelegancko i trudno przejść koło tego obojętnie.

Czy jest jakieś rozwiązanie, które pozwoli ominąć ten problem.
Czyli jeśli w wierszu jest jeszcze miejsce na znak "a", "i", "w" lub "z", a jest on na końcu linii to i tak zostawał by przenoszony do nowej linii.
W pierwszej kolejności liczę na rozwiązanie w HTML, PHP, później inne.
Kshyhoo
  1. <?php
  2. $tablicaNiedozwolonych = array('w','z','o','i','a');
  3. foreach ($tablicaNiedozwolonych as $element) {
  4. $tekst = str_replace(' '.$element.' ',' '.$element."&nbsp;",$tekst);
  5. }
  6. ?>

  1. <?php
  2. $remove = array(' w ',' z ',' o ',' i ',' a ');
  3. $insert = array(' w&nbsp;',' z&nbsp;',' o&nbsp;',' i&nbsp;',' a&nbsp;');
  4. $tekst = str_replace($remove, $insert, $tekst);
  5. ?>

questionmark.gif
Szukaj pod hasłem "twarda spacja"
Szunaj85
  1. <?php
  2. $tablicaNiedozwolonych = array('w','z','o','i','a');
  3. foreach ($tablicaNiedozwolonych as $element) {
  4. $tekst = str_replace(' '.$element.' ',' '.$element." ",$tekst);
  5. }
  6. ?>

Ta pętla wygląda dość ciekawie, jednak nie do końca działa jeżeli 2 pojedyńcze znaki znajdą się koło siebie na końcu wiersza, a zauważyłem, że tak też może być.
Choć próbowałem nie wiem jak uodpornić ją na powyższą sytuacje.
Proszę też o podpowiedź na jakiej zasadzie podmienia znaki na końcu linii, a w środku linii już nie bo nie mogę zrozumieć.

Cytat
Szukaj pod hasłem "twarda spacja"


Choć wiem co to twarda spacja nie za bardzo rozumiem czego chcesz abym szukał. sad.gif
Kshyhoo
Po co odświeżasz, skoro dostałeś już rozwiązanie na tacy. Podaj przykłady dwu znaków obok siebie... Zawsze możesz taki przypadek dodać do tablicy.
Szunaj85
Cytat
(...)dostałeś już rozwiązanie na tacy.(...)
Oczywiście cieszę się z tego, ale jak wcześniej wspomniałem, proszę o wyjaśnienie jak ten gotowiec działa.

Kod
Zadałem pytanie na forum i z całej siły licze na odpowiedź.
Zadałem pytanie na forum i w Was moja cała nadzieja.
Oto przykłady 2 pojedyńczych znaków, które przy odrobinie szczęsica mogą znaleźć się na końcu wiersza.
Myślę, że takich kombinacji par w naszym języku jest więcej.
Kshyhoo
Cytat(Kshyhoo @ 8.03.2015, 17:09:15 ) *
Zawsze możesz taki przypadek dodać do tablicy.

com
Spojnikow w jezyku polskim jest skonczona liczba wiec taj jak napisal kolega wystarczy dodac do tablicy je smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.