elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  CSS en PHP, variables, CSS_PRETTY_PRINT..etc
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: CSS en PHP, variables, CSS_PRETTY_PRINT..etc  (Leído 1,179 veces)
Aspect

Desconectado Desconectado

Mensajes: 2



Ver Perfil
CSS en PHP, variables, CSS_PRETTY_PRINT..etc
« en: 25 Agosto 2015, 17:37 pm »

css_encode(bla)

He hecho una pequeña función en PHP que lo que hace es dejaros crear variables para los colores y demás, algo bastante necesario en CSS pero que aún no tienen, aunque deberían, aquí tenéis el código y abajo cómo usarlo, dad ideas por si se puede mejorar, ¡saludos!
Código
  1. <?php
  2. // Declaracion del tipo de contenido.
  3. header('Content-Type: text/css');
  4.  
  5. // Funcion de 'css_encode'.
  6. const CSS_PRETTY_PRINT = JSON_PRETTY_PRINT;
  7. const CSS_OBFUSCATE_PRINT = null;
  8. function css_encode($selector, $css, $option) {
  9. if($option == CSS_PRETTY_PRINT) {
  10.  
  11. // Limpiar espacios vacíos del selector.
  12. $selector = trim($selector);
  13.  
  14. // Similitud a un codigo CSS con 'json_encode'.
  15. $css = json_encode($css, CSS_PRETTY_PRINT);
  16.  
  17. // Reemplaza las comillas por un valor nulo.
  18. $css = str_replace('"', '', $css);
  19.  
  20. // Reemplaza las comas por puntos y comas.
  21. $css = str_replace(',', '', $css);
  22. $css = str_replace('|', ',', $css);
  23.  
  24. // Muestra en pantalla el valor del resultado.
  25. echo "$selector $css\n\n";
  26. }
  27.  
  28. else if($option == CSS_OBFUSCATE_PRINT) {
  29.  
  30. // Limpiar espacios vacios del selector.
  31. $selector = trim($selector);
  32.  
  33. // Similitud a un codigo CSS con 'json_encode'.
  34. $css = json_encode($css);
  35.  
  36. // Reemplaza las comillas por un valor nulo.
  37. $css = str_replace('"', '', $css);
  38.  
  39. // Reemplaza las comas por puntos y comas.
  40. $css = str_replace(',', '', $css);
  41. $css = str_replace('|', ',', $css);
  42.  
  43. // Muestra en pantalla el valor del resultado.
  44. echo $selector.$css;
  45. }
  46.  
  47. else if($option == null) {
  48. $error_descriptions[E_WARNING] = "Debes indicar el formato de salida del codigo.";
  49. echo $error_descriptions[2];
  50. }
  51. }
  52.  
  53. // Funcion variante de comentarios.
  54. function css_encode_apks8($c) {
  55. echo "/* $c */\n";
  56. }
  57. ?>
  58.  

Para poner una línea de estilos para un elemento después de las funciones o llamándolas con require, habría que poner lo siguiente:
Código
  1. $body =
  2. [
  3. 'background-color' => '#fff;',
  4. 'color' => '#000;'
  5. ];
  6.  
  7. css_encode_apks8("Comentario");
  8. css_encode('contenido', $body, CSS_PRETTY_PRINT);
  9.  

Explico:
Creamos una variable que contenga el array que conformará los estilos de todo el elemento al que vayamos a seleccionar, en este caso he llamado a body para que sea más fácil de entender.

Después añadiremos la llamada a la función css_encode que tiene la sintaxis:
css_encode('nombre del elemento a llamar', $variable_de_estilos, CSS_PRETTY_PRINT);
Otra cosa es que queráis que los estilos estén compactados, para que aparte de que pese menos, haya menos probabilidades de que te "roben" código y es cambiando CSS_PRETTY_PRINT por CSS_OBFUSCATE_PRINT.

El talón de aquiles de la función es que al crear la variable con el array de los estilos, en el valor de una propiedad tienes que añadir tú el punto y coma para separar las sentencias, porque sino no te salen, y para poner una coma para crear valores tipo: Arial, verdana, tahoma, tienes que poner en lugar de la coma, un '|'.

Me gustaría saber también si hay forma de hacer que se acabase el bucle de reemplazar, porque esta función css_encode se aprovecha de la sintaxis de json_encode, y bueno, esto es todo, ¡nos vemos!


« Última modificación: 25 Agosto 2015, 17:41 pm por Aspect » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar variables por formulario sin variables globales¿? « 1 2 »
PHP
hardkoo 11 9,207 Último mensaje 22 Noviembre 2006, 12:55 pm
por chicuela66
variables GET en PHP « 1 2 »
PHP
kanser 12 3,986 Último mensaje 17 Enero 2008, 07:40 am
por kanser
Variables dentro de variables (batch)
Scripting
MK-Ultra 8 7,425 Último mensaje 6 Febrero 2008, 23:18 pm
por GUN$
[BATCH] ¿Como puedo meter variables dentro de variables?
Scripting
Meine programmen 1 3,838 Último mensaje 24 Marzo 2012, 16:48 pm
por Eleкtro
¿Como crear variables en C# que coincidan con las variables de un servidor sql?
.NET (C#, VB.NET, ASP)
dr4 0 1,883 Último mensaje 22 Mayo 2015, 13:15 pm
por dr4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines