Autor | Zpráva | ||
---|---|---|---|
it47 Profil |
#1 · Zasláno: 22. 3. 2021, 15:20:10
Ahojte,
riesim problem, ako spravit cez funkcu preg_replace to, ze pokial nie je medzera za radovou cislovkou, tak ju tam pridame. $string = 'Ulica 29.augusta'; preg_replace('/ ??? /', '$1. ', $string); // chceme vysledok: Ulica 29. augusta Viete mi prosim pomoct? Vopred dakujem velmi pekne. it47 |
||
lionel messi Profil |
$string = 'Ulica 29.augusta'; preg_replace('/(\d+?\.)(?! )/', '$1 ', $string); Alternatívne riešenie, ktoré je istejšie, ak používaš znak . v desatinných číslach alebo nevieš jeho použitie vylúčiť (prvý kód nahradí aj vetu "Pí má približnú hodnotu 3.14 alebo podobne."), tento nie:
$string = 'Ulica 29.augusta'; preg_replace('/(\d+?\.)(?!( |\d))/', '$1 ', $string); |
||
blaaablaaa Profil |
#3 · Zasláno: 22. 3. 2021, 15:43:09
Tohle najde cislo s teckou na konci, za kterym neni whitespace, a prida mezeru.
preg_replace('/([\d]\.)(?!\s)/', '$1 $3', $string); |
||
lionel messi Profil |
#4 · Zasláno: 22. 3. 2021, 15:50:37
blaaablaaa:
Pozor na to, čo píšem vyššie. :) |
||
blaaablaaa Profil |
#5 · Zasláno: 22. 3. 2021, 16:10:53
lionel messi:
Záleží na use-case. V adrese nejspíš nebude desetinné číslo. V delším textu pak radší ([\d]\.)(?!\s|\d) , aby nepřidával mezeru na konci řádku apod.
|
||
it47 Profil |
#6 · Zasláno: 23. 3. 2021, 12:12:20
lionel messi, blaaablaaa:
dakujem, ste borci, velmi ste mi pomohli. :) |
||
Časová prodleva: 3 roky
|
0