Portál AbcLinuxu, 8. května 2025 02:38
usmev = new RE("([\\:][-][)]+)"); smich = new RE("([\\:][-][D]([^a-zA-Z]|$))"); mrk = new RE("([;][-][)])"); smutek = new RE("([\\:][-][(])");
"[-]"
považuje za množinu všech znaků - co to skusit nahradit za "[\\-]"
Měl bych též návrh ohledně řešení smajlíků - co takle při vkládání příspěvku zautomatizovat to co dnes dělá Yeti - když je zaškrtnuto bez smajlíků tak jednoduše nahradit závorky a podobné znaky za entity?
usmev = new RE("(:-\\)+)"); smich = new RE("(:-D([^a-zA-Z]|$))"); mrk = new RE("(;-\\))"); smutek = new RE("(:-\\()");Pozn. 1: Vzhledem k tomu, co to dělá s [-], nezaručuji funkčnost, použil jsem standardní rozšířené regulární výrazy. Pozn. 2: Nepožírá to takhle za smíchem jeden znak? Co třeba (podle toho, jak to nahrazuješ)
smich = new RE("(:-D()([^a-zA-Z]|$)");Chtělo by to možná zero-width negative look-ahead assertion... ale ty umí jen Perl (libpcre), Python, Vim, ... a asi 10 dalších věcí... Pozn. 3: @#$%! odstranit nechtěné smajlíky v tomto příspěvku byl skutečně zážitek ;-)
usmev = new RE("(:-\\))"); smich = new RE("(:-D)"); mrk = new RE("(;-\\))"); smutek = new RE("(:-\\()");Když už někdo nedokáže napsat smajlíka bez chyby, tak ať ho radši nepíše vůbec. Nebo maximálně:
usmev = new RE("(:-+\\))"); smich = new RE("(:-+D)"); mrk = new RE("(;-+\\))"); smutek = new RE("(:-+\\()");P.S.: Stejně si myslím, že nejlepší by bylo smajlíky úplně vypnout, protože skoro každý umí smajlíka přečíst a kdo ne, tak si holt zvykne. Vypnutí smajlíku individuálně přídává zbytečný kód navíc a ubírá výkonu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.