Rigtersir.com Omar Ramirez (Rigter)
The truth is that I'm a bad person, but that's going to change, I'm going to change.

Cortar Texto con PHP

Como en el ejemplo anterior, usamos la función split() para convertir una cadena en un array con el hecho de tener una expresión regular dentro de ella.
Ahora es mucho menos código ya que solo nos interesa mostrar la primera parte que se encuentra antes de nuestro tag personalizado {END}.

Además que únicamente validamos médiate la función eregi(), la cual busca una expresión regular en una cadena y es sensible a mayúsculas y minúsculas.
Pego el código con sus comentarios y al final el demo y source.


<?php

/****************************
       Text Break 1.0
        Omar Ramirez
      www.rigtersir.com
*****************************/

$txt "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
{END}
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum."
;

if(
eregi("{END}",$txt)){ // Si el tag personalizado {END} se encuentra en nuesta cadena continuamos...

$fin split("{END}",$txt); // Usamos split() para partir la cadena en donde se ha encontrado el tag.

echo $fin[0]; // Imprimimos nuestro trozo de texto.

}else{ // Si no se encontro el tag imprimimos el texto completo.
    
echo $txt;
    
}

?>


[ Demo ] | [ Source ]

Dividir texto en páginas con PHP

Si alguna vez hemos usado Wordpress o Joomla (por decir algunos) en modo de escritura de artículos o post, encontramos unas funciones con las cuales el post que estamos redactando podemos separarlo en "páginas" y así ir seccionando nuestro mensaje si es que es muy largo o simplemente dividirlo en pasos (si es un tutorial).

Bien, pues hoy me di a la tarea de hacerme un script que cumple con esa función tan peculiar y en muchos casos necesaria para mostrar información.

El script no usa más de 2 funciones como son: split() y count().

Lo demás son simples condiciones que ayudan a la paginación de los trozos que obtenemos de nuestro texto principal.
Para dividir el texto en páginas, uso un tag personalizado {pagebreak} , con el cual indico en donde terminan e inician las paginas.

Pego el código con sus respectivos comentarios.


<?php

/****************************
        Pagebreak 1.0
        Omar Ramirez
     www.rigtersir.com
*****************************/


// Texto a mostrar, la etiqueta personalizada para cortar el texto en trozos es {pagebreak}

$txt "<h3>Pagina 1</h2> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
{pagebreak}
<h3>Pagina 2</h2>Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.
{pagebreak}
<h3>Pagina 3</h2>Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum."
;


$busca split("{pagebreak}",$txt); // Buscamos nuestra etiqueta personalizada en el texto y convertimos en un array.

$total_trozos count($busca)-1// Contamos los trozos generados y le restamos 1 para hacerlo compatible con el array.

if($_GET['p']<=$total_trozos){ // Condicionamos a que el script se ejecute solo si la varible $_GET['p'] es menor o igual que los trozos. 

if(!$_GET['p'] || $_GET['p']==0){ // Si $_GET['p'] esta vacio o es igual a 0 mostramos el primer trozo.
    
echo $busca[0];
}else{                            
// Si no cumple lo anterior comienza a mostrar los siguientes trozos.
    
echo $busca[$_GET['p']]; 
}

echo 
"";  // Saltos de linea.

if($_GET['p']>=1){  // Si $_GET['p'] es mayor o igual que 1 muestra el enlace de anterior.
    
$s $_GET['p']-1;  // Restamos 1 a $_GET['p'] para ir al trozo anterior.
    
echo "<a href=?p=$s>Anterior</a> ";
}

if(
$_GET['p']<$total_trozos){  // Si $_GET['p'] es menor que los trozos totales muestra enlace de siguiente.
    
$s $_GET['p']+1;         // Sumamos 1 a $_GET['p'] para ir al trozo siguiente. 
    
echo "<a href=?p=".$s.">Siguiente</a>";
}

}else{  
// Si $_GET['p'] es mayor que los trozos  mostramos mensaje de error.
echo "Error"
}
?>


Como ven el script es muy sencillo de entender, pueden aplicarlo en sus sistemas y claro hacerle las modificaciones que crean pertinentes, como validaciones, un poco de CSS, etc.

Cualquier duda, sugerencia y demás, dejen un comentario.

[ Demo ] | [ Source ]

Modulacion con switch [PHP]

Ultimamente he trabajado mucho bajo Joomla!, como antes habia mencionado en Twitter, con un excelente maestro, Gustavo Aragon

Bien algo que he visto bajo el CMS, es la forma en como modula los task o tareas que hara cada componente y/o modulo. Mediante el uso de switch, podemos hacer modular parte o toda nuestra web. En este post les enseñare con ejemplos basicos como hacerlo.

Para comenzar tenemos la descripcion oficial de switch en php.net.

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, se quiere comparar la misma variable (o expresión) con nuchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a qué valor es igual. Para ello sirve la sentencia switch.


Bien, comencemos con lo que nos interesa... la modulacion!!
En este caso dependiendo del valor que obtengamos en nuestra variable $seccion, cargaremos un archivo diferente.


<?php
switch($seccion){
    
    case 
"noticias":
    include 
'archivo_de_noticias.php';
    break;
    
    case 
"galeria":
    include 
'archivo_de_galeria.php';
    break;
    
    case 
"contacto":
    include 
'archivo_de_contacto.php';
    break;
    
    default:
    include 
'archivo_por_defecto.php';
    
}
?>


Como podemos ver por cada valor de $seccion obtendremos un archivo diferente, cuando $seccion no coincide con ninguno, pasaria a la accion de default, la cual como su nombre lo indica sera la accion por defecto.

Switch es muy parecido a usar las condiciones IF y ELSE, con la diferencia que es mas practico trabajar una variable que podria tener muchos valores diferentes. Ademas que la edicion futura de nuestro codigo seria mucho mas comoda.

Ahora bien, ¿como pruebo el script?, dependiendo de lo que estemos trabajando es como podriamos obtener el valor de $seccion, via $_POST, $_GET, etc...

En este caso digamos que pasaremos el valor via $_GET y que nuestro archivo que contiene la sentencia switch se llama index.php.
La manera de que $seccion obtendria sus valores seria: index.php?seccion=noticias

Al verlo en el navegador, nos mostraria el contenido de archivo_de_noticias.php.

Espero les haya servidor este pequeño articulo del uso y posibles aplicaciones de swith.

Saludos.

Nuevos Tutoriales

He colocado nuevos tutoriales dentro de la categoria PHP, son muy sencillos, pero creo que utiles para aquellos que desean aprender este lenguaje de paginas dinamicas.

Pronto estare colocando mas tutos en las demas categorias, asi como agregare algunas mas. Bien pues chequen los tutoriales y comentenlos

¿Como crear un blog?

A peticion de Randy, escribi un pequeño texto informativo para conocer los puntos que debemos tratar para crear nuestro propio blog, es un texto muy pequeño, pero despejara algunas dudas y pondra a trabar las mentes de los nuevos programadores.

Espero que les sirva a algunos, aun asi pronto terminare un pequeño code que es un pequeño miniblog, muy util para empezar en PHP

¿Como crear un Blog?
http://www.rigtersir.com/blog/tutorial12.html

Tambien les dejo una pequeña imagen que hice, esta super viajada y talvez muchos no le encuentren sentido, pero bueno algunos otros si...

http://www.rigtersir.com/blog/showimage23.html

Tutorial > Usando Condiciones

Acabo de agregar un tutorial mas, este trata de las condiciones IF y ELSE.

Contiene un ejemplo muy facil de comprender, espero que les sea de utilidad a la hora de hacer sus scripts.

Les dejo el link: http://www.rigtersir.com/blog/tutorial8.html

Tutorial > Usando str_replace

Acabo de terminar de publicar un tutorial de como usar la funcion str_replace que nos ofrece PHP, la cual sirve para reemplazar caracteres como letras, numeros, etc..

El tutorial esta muy facil de comprender pero si surgen dudas no olviden contactarme.

Les dejo el link: http://www.rigtersir.com/blog/tutorial7.html

Nota: Si quieren mas tutos, pidanmelos y si lo que piden esta dentro de mis conociemientos con gusto les publico un tuto, tampoco me pidan hacer un tuto para crear una web entera ¬_¬ o sistemas completos para sus webs, bueno espero sus peticiones para los tutos.

Rigter Guestbook v1.0

Ya esta listo el script del guestbook, hice un apartado en la web en donde colocare todos los scripts que haga, pueden acceder por medio del menu de la izquierda, en donde dice Scripts.

Mi siguiente script sera una galeria de imagenes como la de este blog.

Rigter Guestbook

Acabo de terminar un nuevo script, el cual consiste en un guestbook (libro de visitas).

Entre sus caracteristicas tiene:
- Proteccion contra inyeccion de codigo
- Smilies
- Captura de IP
- Paginado

Por ahora no publico el codigo para que cada quien tenga su Rigter Guestbook pero en unos dias lo publicare, ya que estoy depurando el codigo.

Pueden ver el demo del Rigter Guestbook en:

http://www.rigtersir.com/guestbook/

©Rigtersir.com 2008
Blog no mantenido bajo Wordpress, Textpattern u otro CMS.