Autor Zpráva
Sylar
Profil
Zdravím,
dal jsem dohromady následující regulár
preg_replace('/[0-9]\.? ?[den|Den|DEN]/', '', $string)
který by měl smazat část stringu, pokud je ve formátu
1.den
23. den
45 DEN
3.Den
...


Pokud jej ale použiju tak např. z "1. den" smaže pouze "1. d" a ve stringu zůstane "en".

Zkoušel jsem si s tím různě hrát, ale to "en" mi tam vždy nechá. Kde je prosím chyba?
Kcko
Profil
Co takto

[0-9]*\.?\s*?(?i:den)
DJ Miky
Profil
V původním RV je chyba v závorkách, [ ] znamená výčet znaků, tedy to odstraní jeden ze znaků 'd' nebo 'e' nebo 'n' nebo '|' nebo velké varianty. Správně by bylo (den|Den|DEN), což smaže jeden z řetězců 'den', 'Den', 'DEN', ale jednodušší je nerozlišovat velikost písmen např. modifikátorem i:
/[0-9]+\.? ?den/i
Sylar
Profil
DJ Miky:
díky moc, to je ono

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: