Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Krótkie wyrazy w nowej lini, wszy i wdowy
patryczakowy
post 18.07.2010, 18:08:43
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Witam w jaki sposób mogę przerzucać wyrazy krótsze niż np 4 znaki do nowej Lini chodzi o to żeby linia tekstu nie kończyła się krótkim wyrazem.

Z góry dzięki za radę.


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
darko
post 18.07.2010, 18:17:06
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. $txt = 'coś tam coś ta';
  2. $new_txt = '';
  3. foreach(explode(' ', $txt) as $word)
  4. {
  5. count($word) <= 4 ? $new_txt .= "\n<br/>" . $word : $new_txt .= ' ' . $word;
  6. }
  7. echo $new_txt;

?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
patryczakowy
post 18.07.2010, 18:22:54
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


niestety to nie zda egzaminu bardziej chodziło mi o js mam diva a w nim tekst ostatni wyraz wyświetlany w danej linii nie może być krótszy niż 4 znaki


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
darko
post 18.07.2010, 18:35:00
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Skorzystamy z gotowca:
  1. function explode (delimiter, string, limit) {
  2. // Splits a string on string separator and return array of components. If limit is positive only limit number of components is returned. If limit is negative all components except the last abs(limit) are returned.
  3. //
  4. // version: 1006.1915
  5. // discuss at: http://phpjs.org/functions/explode // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  6. // + improved by: kenneth
  7. // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  8. // + improved by: d3x
  9. // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // * example 1: explode(' ', 'Kevin van Zonneveld');
  10. // * returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
  11. // * example 2: explode('=', 'a=bc=d', 2);
  12. // * returns 2: ['a', 'bc=d']
  13. var emptyArray = { 0: '' };
  14.  
  15. // third argument is not required
  16. if ( arguments.length < 2 ||
  17. typeof arguments[0] == 'undefined' || typeof arguments[1] == 'undefined' ) {
  18. return null;
  19. }
  20.  
  21. if ( delimiter === '' || delimiter === false ||
  22. delimiter === null ) {
  23. return false;
  24. }
  25. if ( typeof delimiter == 'function' ||
  26. typeof delimiter == 'object' ||
  27. typeof string == 'function' ||
  28. typeof string == 'object' ) {
  29. return emptyArray; }
  30.  
  31. if ( delimiter === true ) {
  32. delimiter = '1';
  33. }
  34. if (!limit) {
  35. return string.toString().split(delimiter.toString());
  36. } else {
  37. // support for limit argument var splitted = string.toString().split(delimiter.toString());
  38. var partA = splitted.splice(0, limit - 1);
  39. var partB = splitted.join(delimiter.toString());
  40. partA.push(partB);
  41. return partA;
  42. }
  43. }
  44. <div id="my_div"></div>
  45. var text = 'to jest przykladowt tekst bla bla bla';
  46. var x = explode(' ', text);
  47. var temp = '';
  48. for(var y in x)
  49. {
  50. if(x[y].length <= 4)
  51. temp += '<br/>' + x[y];
  52. else
  53. temp += ' ' + x[y];
  54. }
  55. document.getElementById('my_div').innerHTML = temp;
  56. </body></html>


kod funkcji za: http://phpjs.org/functions/explode:396

Ten post edytował darko 18.07.2010, 18:35:41


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
patryczakowy
post 18.07.2010, 19:08:35
Post #5





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


dałeś mi to samo rozwiązanie tylko że teraz w js może lepiej uściśnie o co chodzi jest formularz zainstalowany tinyMce ktoś sobie wprowadza tekst który ma się wyświetlić na stronie i chodzi o to że teraz jak jest akapit w nim powiedzmy 5 linijek tekstu to zdarza się tak że linia kończy się powiedzmy literą "i" a tak nie powinno być w Wordzie funkcja o która mi chodzi nazywa się jeśli dobrze pamiętam "Wszy i wdowy" polega na tym że właśnie takie krótkie wyrazy są przerzucane do nowej Lini.


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 16:26