Regularne vyrazy

Programovacie jazyky, rady, poradňa...
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Regularne vyrazy

Príspevok od používateľa sINN3R »

Zdravim,
hram sa jednym regularnym vyrazom a neviem prist na to ako napisat do jedneho regularneho vyrazu pre PHP preg_replace ze ma odstranit zo stringu vsetky nepismenove znaky (\W) ale zaroven neodstranovat medzeri (\s).
Nieco ako:

Kód: Vybrať všetko

preg_replace('/\W&&^\s/i','',$string)

Nevie mi niekto poradit ? Diky moc
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Regularne vyrazy

Príspevok od používateľa BX »

Ja osobne by som z toho nerobil vedu a vyriešil to proste takto:

Kód: Vybrať všetko

"/[^_0-9a-zA-Z\s]/"
:)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Regularne vyrazy

Príspevok od používateľa audiotrack »

to ti odstráni aj lomítko, hviezdičku, pipu, zátvorky, pomlčku, rovná sa, percento...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Regularne vyrazy

Príspevok od používateľa BX »

A \W snáď nie?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Regularne vyrazy

Príspevok od používateľa audiotrack »

nie, \W by malo odstrániť všetký biele znaky (tabulátor, enter a pod.) ak si dobre spomínam, nechce sa mi to googliť. Ale hviezdička a spol. nie sú biele
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Regularne vyrazy

Príspevok od používateľa BX »

\W je negácia \w, takže [^0-9a-zA-Z_] zátvorky, hviezdičky a iné hávede sa tam nepočítajú. A autor písal "nepísmenové znaky" a vo svojom príklade uvádza \W. Z toho som usúdil (možno zle, neviem), že chce zachovať iba čistý text s bielymi znakmi.
Ak to ale chce inak, tak nech napíše :)
Napísať odpoveď