REGEX - Prerobenie paternu

Programovacie jazyky, rady, poradňa...
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

REGEX - Prerobenie paternu

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

Ahoj, chcem niekoho poprosiť, či by vedel prerobiť tento patern

Kód: Vybrať všetko

/^[a-zA-Z0-9áéíýúäôľščťžňďěřůÁÉÍÝÚÄÔĽŠČŤŽŇĎĚŘŮ\s]*$/iu
ktorý teraz používam v preg_match funkcii tak, aby sa dal použiť vo funkcii preg_replace.

Chcem dosiahnuť aby mi v akomkoľvek reťazci odstránilo znaky, ktoré nie sú v tom paterne, čiže znaky z paternu sú povolené a iné znaky vyhodí.

Ďakujem
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: REGEX - Prerobenie paternu

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

Kód: Vybrať všetko

$new = preg_replace("[a-zA-Z0-9áéíýúäôľščťžňďěřůÁÉÍÝÚÄÔĽŠČŤŽŇĎĚŘŮ\s]*", "", $old);
Takto nejak? Inak neviem či sa to vyplatí robiť cez regexy, keď stačí len prefiltrovať reťazec znak po znaku.
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: REGEX - Prerobenie paternu

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

Vďaka ale,
Warning: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Unknown modifier '*'

S regulármi robiť neviem, netuším ako to fixnúť. :/

//autoeditácia príspevku (29 Nov 2013, 20:16)
Stačilo pridať lomítka na začiatok a koniec výrazu.
Robí to presne opačne, znaky v reguláry to zmaže preč a ostanú znaky, ktoré tam nie sú.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: REGEX - Prerobenie paternu

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

Kód: Vybrať všetko

preg_replace('/[^\w]/i', "", $string);
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: REGEX - Prerobenie paternu

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

Pattern bez hviezdičky mi vyšiel 1.143x rýchlejšie. Pri jednopísmenových zhodách nemá žiadnu rýchlostnú výhodu, nemusíš ju tam dávať.
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: REGEX - Prerobenie paternu

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

audio: parádička. :) Vďaka.
pcsiete: Dík, ale ako som písal, tvoj reg to robil presne opačne.
Napísať odpoveď