Autor | Zpráva | ||
---|---|---|---|
S3RIO2 Profil |
Ahoj,
pokoušel jsem se pomocí regulérních výrazů oddělit následující string, ale nějak se mi nedaří poskládat šablonu nijak efektivně. Mám například string: $string = "01 Nazdar 02 Čau 03 Ahoj"; Jak ho efektivně rozdělit podle těch čísel, vč. zachování čísel aby výstup vypadal následovně, tedy aby oddělil každý pozdrav na nový řádek ? 01 Nazdar 02 Čau 03 Ahoj .. čísla mohou pokračovat třeba do: 16 Aloha :-) Předem děkuji za pomoc. Strašně se v tom plácám.. :( :D |
||
Ikki Profil |
#2 · Zasláno: 16. 2. 2019, 17:27:16
Nepostačilo by -
\n \r\n
|
||
S3RIO2 Profil |
#3 · Zasláno: 16. 2. 2019, 18:03:02
Bohužel nestačilo.
|
||
Kcko Profil |
#4 · Zasláno: 16. 2. 2019, 19:39:52
S3RIO2:
\d*\D+ ?
|
||
S3RIO2 Profil |
#5 · Zasláno: 17. 2. 2019, 15:56:04
Kcko:
Vzhledem k tomu, že číslovky se mohou vyskytovat také mezi slovy je toto pro mě nepoužitelné. Potřebuji to dělit podle těch [01-16][MEZERA][TEXT]. Nemusí to být zrovna preg_*, nebráním se jakékoliv funkci, kterou to půjde oddělit. |
||
Kajman Profil |
Pokud chcete před jakékoliv alespoň dvě číslice následované mezerou přidat (unixový) enter, tak zkuste
$string = "01 Nazdar 02 Čau 03 Ahoj"; $string = preg_replace('/(\d{2,} )/', "\n\$1", $string); |
||
Keeehi Profil |
#7 · Zasláno: 17. 2. 2019, 19:58:42
S3RIO2:
<?php $in = "01 Nazdar 02 Čau 03 Ahoj"; echo preg_replace('~((0\d|1[0-6]) )~', "\n\$1", $in); |
||
S3RIO2 Profil |
Super pánové funguje, akorát jsem si musel \n nahradit <br>, já bych ten pattern snad nikdy nedal dohromady. Děkuji mnohokrát.
|
||
Časová prodleva: 6 let
|
0