Řetězcové funkce

escape

Tato funkce provádí URL kódování na speciálních znacích předaného řetězce a vrací zakódovaný řetězec.

Parametry

  • řetězec, který chceme zakódovat

Pokud tuto funkci zavoláme například takto: escape('a=1'), vrátí se nám tento řetězec: "a%3D1".

e

Tato funkce nechává obsah přijatého řetězce tak jak je ale odstraní z něj uvozovky, takže můžeme jeho obsah použít například pro nastavení hodnoty nějaké vlastnosti.

Parametry

  • řetězec z kterého chceme odstranit uvozovky
// LESS

@barva: "green";

div {
    // funkce e odstraní z řetězce uvozovky, takže
    // jej můžeme použít pro nastavení vlastnosti
    color: e(@barva);
}
/* zkompilované CSS */

div {
    color: green;
}

%

Tato funkce nám umožňuje do řetězce vkládat různé hodnoty. Jako první argument přijímá řetězec, který obsahuje rezervovaná místa pro hodnoty, které předáváme v ostatních argumentech. Ostatní argumenty jsou tedy hodnoty, které do řetězce chceme vložit. Rezervovaná místa v řetězci můžeme označit pomocí znaku % následovaného jedním z těchto znaků: s, S, d, D, a, A. Velká písmena používáme pokud chceme speciální znaky převést do utf-8 escape kódů. Pokud potřebujeme do řetězce vložit znak % musíme ho escapnout dalším procentem: %%.

Rezervovaná místa

  • d, D, a, A - mohou být nahrazeny jakýmkoliv argumentem (barva, číslo, výraz, ...). Pokud je použijeme v kombinaci s řetězcem, tak se použije celý řetězec, včetně uvozovek. Uvozovky jsou do řetězce vloženy tak jak jsou (nejsou escapnuty).
  • s, S - mohou být nahrazeny jakýmkoliv výrazem. Pokud je použijeme s řetězcem, tak se řetězec použije bez uvozovek.

Parametry

  • řetězec s rezervovanými místy
  • dalšími parametry jsou hodnoty, které chceme umístit na rezervovaná místa v řetězci
// LESS

// proměnné @barva se nastaví řetězec s hodnotou "lightgreen"
@barva: %("%sgreen", "light");

div {
    color: e(@barva);
}
/* zkompilované CSS */

div {
    color: lightgreen;
}

replace

Tato funkce mění část řetězce jiným řetězcem.

Parametry

  • řetězec ve kterém se bude hledat a měnit text
  • řetězec nebo regex výraz, který se hledá v řetězci předaném v prvním parametru
  • řetězec který nahradí nalezený text
  • volitelné regex flagy
// LESS

// proměnné @barva se nastaví hodnota lightgreen
// (dark se nahradí za light)
@barva: replace("darkgreen", "dark", "light");

div {
    color: e(@barva);
}
/* zkompilované CSS */

div {
    color: lightgreen;
}