| Autor | Zpráva | ||
|---|---|---|---|
| nethor Profil |
#1 · Zasláno: 28. 7. 2010, 11:48:05
Ahoj,
mám fci , která má zabránit zalomení předložek (resp. slov která mají 3 a méně znaků) na konci řádku.
$text = preg_replace("#( | |\t)+(.{1,3})( |\t)+#i", "$1$2 ", $text);
např: text 'na šotolině a na sněhu' vy měl vrátit 'na šotolině a na sněhu' ale vrací 'na šotolině a na sněhu' Jak se dá zapnout cyklení? (myslel jsem, že je defaultně zapnuté $limit = -1 ) |
||
| tiso Profil |
#2 · Zasláno: 28. 7. 2010, 12:23:03
nethor:
$text = preg_replace("#(\w{1,3})(\s)+#i", "$1 ", $text); |
||
| nethor Profil |
#3 · Zasláno: 28. 7. 2010, 13:28:35
To mi nechodí s utf-8 .
Tvrdou mezeru za první přeložkou bych oželel, prakticky to nikdy nevadí. Problém řeší dát příkaz 2x za sebou.
$text = preg_replace("#( | |\t)+(.{1,3})( |\t)+#i", "$1$2 ", $text);
$text = preg_replace("#( | |\t)+(.{1,3})( |\t)+#i", "$1$2 ", $text);
Ale určitě to jde vyřešit lépe. |
||
| tiso Profil |
#4 · Zasláno: 28. 7. 2010, 14:03:52
nethor: tak oprava:
$text = preg_replace("#(?:^|(?<=\s))(.{1,3})(\s)+#i", "$1 ", $text); |
||
|
Časová prodleva: 16 let
|
|||
0