Autor Tema: [TUTORIAL] Cortar texto por X palabras  (Leído 2942 veces)

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
[TUTORIAL] Cortar texto por X palabras
« en: 06 de Noviembre de 2009, 02:00:03 am »
Hola, basandome en el código anterior que puse se me ocurrió hacer uno que te deje ingresar la cantidad de palabras máximas y una frase, acá el resultado. Para separalo usé un bucle for.


<?
if (isset(
$_POST[&#39;enviar&#39;])) { //Si se apretó el botón, se ejecuta la siguiente función.
$explode explode(" "$_POST[&#39;cadena&#39;]);// Separamos la cadena introducida por espacios
$contar count($explode);// Contamos la cantidad de palabras que tenía la cadena
 
echo "<b>Texto introducido:</b>
<br><br>"
;
for(
$i=0$i<$_POST[&#39;maximo&#39;]; $i++) { //Hacemos un bucle for para separar el texto por la cantidad introducida
echo $explode[$i]." ";//Mostramos todas las palabras máximas y las separamos con un espacio
}
echo 
"<br><br>
La cadena que introduciste posee <b>
$contar</b> palabras";//Mostramos el total de palabras introducidas
} else { //Si no se apretó el botón, mostramos el formulario
echo "<form method=&#39;POST&#39; action=&#39;cortar.php&#39;>
L&iacute;mite de palabras a mostrar:
    <br>
<input type=&#39;text&#39; name=&#39;maximo&#39;size=&#39;10&#39; value=&#39;5&#39;>
<br>
Ingrese cadena:
<br>
<textarea rows=&#39;10&#39; cols=&#39;50&#39; name=&#39;cadena&#39;></textarea>
<br>
<input type=&#39;submit&#39; name=&#39;enviar&#39; value=&#39;Enviar&#39;>
</form>"
;
}   
?>


Como pueden ver es muy simple, acá se los explico como actúa:

1º Con explode separamos la cadena usando espacios.
2º Con el bucle for decimos que el valor inicial es 0, después el valor que se ejecuta es el que se introdujo en el formulario y $i++ hace que se sume 1 a cada vuelta del bucle.
3º Con echo $_POST[&#39;mensaje&#39;][$i]." "; mostramos las palabras que obtuvimos y las separamos con un espacio que es ." ";.

Bueno, en esos 3 items resumo el funcionamiento de este código.

Queda demás decir que con el se puede hacer un READ MORE, cortan la cadena con esa función y le agregan un echo con un <url que contenga el valor de la ID.

Espero que les aya gustado y les sirve ^^  :bstar:

SALU-2 :D :D

PD: Este código lo programé yo solo sin ayuda de nadie mas que el manual de PHP.

Comunidad PHPeros

[TUTORIAL] Cortar texto por X palabras
« en: 06 de Noviembre de 2009, 02:00:03 am »

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #1 en: 06 de Noviembre de 2009, 17:15:00 pm »
Buen tuto masato ... otro +  ;)

Sino estoy mal,

el código que tu muestras debe funcionar bien pero deberias cambiar $explode[$i]." "; por $explode[$i].", "; ó $explode[$i]."<br>";. Porque estaría mostrando igual como lo insertan en la cadena en el textarea (separado por espacios).

Saludos.
¡Solo sé, que nada sé...!

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #2 en: 06 de Noviembre de 2009, 17:31:59 pm »
Es que la idea es que lo muestre así, ya que es como ejemplo de un READ MORE, osea, pone la 1º palabra y la separa por espacio, la 2º espacio, etc.
Este no es como el anterior que te contaba las palabras (bue, este las cuentas también xD)

Gracias por el +1 ^^

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #3 en: 06 de Noviembre de 2009, 17:41:23 pm »
Es decir,
Si yo escribo en el textarea:
Citar
Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros
Me va a mostrar:
Citar
Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros Hola PHPeros

¿No? De esa manera no demostrarias que las estas separando, pero si pones una coma, un punto un guiión o un espacio abajo tal véz!
¡Solo sé, que nada sé...!

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #4 en: 06 de Noviembre de 2009, 17:47:20 pm »
Pero...esto no es para separar >.< es para cortar cada X palabras, osea, estás limitando la cantidad de palabras en un texto O.o

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #5 en: 06 de Noviembre de 2009, 17:51:56 pm »
Si ya veo, pido disculpas estaba confundido!

Lo siento de nuevo, de todos modos buen aporte Masato
Saludos
¡Solo sé, que nada sé...!

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #6 en: 06 de Noviembre de 2009, 17:57:10 pm »
Quedas disculpado :P ^^

Y es un gusto aportar a la comunidad ^^ (ahora que entiendo como funciona el bucle for, es mas facil xD)

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #7 en: 06 de Noviembre de 2009, 20:20:17 pm »
Hay una forma más fácil, es con la función substr()
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #8 en: 06 de Noviembre de 2009, 20:25:48 pm »
Hay una forma más fácil, es con la función substr()
substr() separa por numero de letras, no por palabras...

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #9 en: 06 de Noviembre de 2009, 22:58:34 pm »
exacto, si queres que separe por X letras, en vez del explode, pones el substr

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #10 en: 06 de Noviembre de 2009, 23:21:40 pm »
Es que no llege a ver que era por palabras. No había visto el código. Pero buen aporte.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Masato

  • PHPero Avanzado
  • ****
  • Mensajes: 480
  • Karma: 12
  • Sexo: Masculino
  • <?php echo "Solo quiero aprender php"; ?>
    • Ver Perfil
    • Masato Design!
Re:[TUTORIAL] Cortar texto por X palabras
« Respuesta #11 en: 07 de Noviembre de 2009, 01:51:24 am »
Como no llegaste a ver que era por palabras ??? xD