Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Como añadir un punto al final de un texto si este no existe?

Estas en el tema de ¿Como añadir un punto al final de un texto si este no existe? en el foro de PHP en Foros del Web. Hola a todos ! Mi duda es la siguiente... ¿Como puedo añadir un punto al final de un texto siempre y cuando el texto digitado ...

  #1 (permalink)  
Antiguo 06/09/2013, 11:14
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta ¿Como añadir un punto al final de un texto si este no existe?

Hola a todos !

Mi duda es la siguiente... ¿Como puedo añadir un punto al final de un texto siempre y cuando el texto digitado le haga falta el punto final?

Ejemplo:
Código PHP:
$texto1 "Este es un ejemplo de texto con punto y final.";
$texto2 "Este texto le falta el punto" 
Entonces cuando le de el echo al $texto2 me debe de salir asi
Cita:
Este texto le falta el punto.
Alguna ayuda por favor ?
  #2 (permalink)  
Antiguo 06/09/2013, 11:30
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Hola
Código PHP:
Ver original
  1. function point($var){
  2. if(!preg_match_all("/$./g",$var){
  3. $var .= '.';
  4. }else{
  5. return true;
  6. }
  7. }

accedes con: point($text1)

Es esto lo que buscas??
  #3 (permalink)  
Antiguo 06/09/2013, 11:31
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
De acuerdo Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Muchas gracias ire a probar jejeje
  #4 (permalink)  
Antiguo 06/09/2013, 11:33
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

¿por qué alguien querría hacer eso?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 06/09/2013, 11:39
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Exclamación Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Me muestra el siguiente error:

Warning: preg_match_all(): Unknown modifier 'g'
  #6 (permalink)  
Antiguo 06/09/2013, 11:40
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Puedes usar strpos()

$texto="blabla";
$caracter".";
$pos=strpos($texto,$caracter);
if($pos===false){
$texto .=$caracter;
}
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #7 (permalink)  
Antiguo 06/09/2013, 11:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Si el texto puede llevar puntos intermedios y le falta el punto final se necesita otra opción.
Código PHP:
Ver original
  1. $texto=trim($texto);//opcional
  2. if(substr($texto,-1)!='.')//si el último caracter no es un punto
  3.     $texto.='.';
  #8 (permalink)  
Antiguo 06/09/2013, 12:26
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Exclamación Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Lo del trimp te trunca los espacios asi que no es buena idea...
Código PHP:
Ver original
  1. function point($var){
  2. if(!preg_match("/$.{1,3}/",$var){
  3. $var .= '.';
  4. }else{
  5. return true;
  6. }
  7. }

accedes con: point($text2);

En que estaba pensando?? Este si que va y te ahorras un tiempo!

Última edición por PHPeros; 06/09/2013 a las 13:19
  #9 (permalink)  
Antiguo 06/09/2013, 13:53
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Hola a todos y muchisimas gracias por sus respuestas....!

Tengo el siguiente codigo:
Código PHP:
    <?php
           
            $texto 
"Esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala.";
            
            if(
point($texto) == true)
             echo 
"El texto ya tenia punto final: <br />".$texto;
            elseif(
point($texto) == false)
             echo 
$texto.='.';
             
           function 
point($var)
           {
              if(!
preg_match("/$.{1,3}/",$var))
                  return 
false//$var .= '.';
              
else
                  return 
true;
                  
           }
    
?>
La funcion funciona perfecto cuando el texto no tiene punto final. Pero no funka cuando lo dejo asi como esta en mi codigo osea con punto al final del texto.

El resultado es erróneo miren:
Cita:
Esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala..
  #10 (permalink)  
Antiguo 06/09/2013, 13:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Bueno, no usaste la opción que te di.

PHPeros ¿por qué no es buena idea el trim()? si la idea es "corregir" un poco el texto, un punto después de un espacio es incorrecto.
  #11 (permalink)  
Antiguo 06/09/2013, 14:03
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Una solución podría ser

Código PHP:
Ver original
  1. function point($var){
  2.     return rtrim($var, '.');
  3. }
  4.  
  5. $texto = "Esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala.";
  6.  
  7. $text = point($texto) . ".";
  8.  
  9. echo $text;

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #12 (permalink)  
Antiguo 06/09/2013, 14:08
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por ocp001a Ver Mensaje
Bueno, no usaste la opción que te di.

PHPeros ¿por qué no es buena idea el trim()? si la idea es "corregir" un poco el texto, un punto después de un espacio es incorrecto.
En tal caso ltrim() o rtrim(), si no se quedará sin whitespaces... Y la idea de usar substr() no es la mejor, porque imagínate que tiene puntos suspensivos, pues no te serviría. Utilizar un regex es conveniente en este caso. Saludos
  #13 (permalink)  
Antiguo 06/09/2013, 14:10
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por PHPeros Ver Mensaje
En tal caso ltrim() o rtrim(), si no se quedará sin whitespaces... Y la idea de usar substr() no es la mejor, porque imagínate que tiene puntos suspensivos, pues no te serviría. Utilizar un regex es conveniente en este caso. Saludos
rtrim, trim y ltrim no solo permite eliminar los espacios en blanco, también sirve para eliminar cualquier carácter al principio, al final o en ambos extremos del string

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #14 (permalink)  
Antiguo 06/09/2013, 14:13
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por jonni09lo Ver Mensaje
rtrim, trim y ltrim no solo permite eliminar los espacios en blanco, también sirve para eliminar cualquier carácter al principio, al final o en ambos extremos del string

Saludos
??
  #15 (permalink)  
Antiguo 06/09/2013, 14:15
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Hola jonni09lo probe tu codigo e igual funciona pero cuando digito al final puntos suspensivos ... no me funka ya que solo me coloca uno al final
  #16 (permalink)  
Antiguo 06/09/2013, 14:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Yo comprobaría que el último carácter, después de eliminar espacios al final, sea un punto, y si no lo es entonces agregarlo.

Eso resuelve el problema de los puntos suspensivos también.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 06/09/2013, 14:17
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por adryan310 Ver Mensaje
Hola jonni09lo probe tu codigo e igual funciona pero cuando digito al final puntos suspensivos ... no me funka ya que solo me coloca uno al final
Eso ya lo mejoro yo, espera...
  #18 (permalink)  
Antiguo 06/09/2013, 14:18
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Ahhh ya veo, entonces dime que comportamiento esperas

1. Si no tiene punto al final, colocarselo
2. Si tiene puntos suspensivos dejarselos

Ahora bien, que pasa si tiene dos puntos? que pasa si tiene mas de 3 puntos?

Que otra cosa hay que tener en cuenta?

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #19 (permalink)  
Antiguo 06/09/2013, 14:20
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por jonni09lo Ver Mensaje
Ahhh ya veo, entonces dime que comportamiento esperas

1. Si no tiene punto al final, colocarselo
2. Si tiene puntos suspensivos dejarselos

Ahora bien, que pasa si tiene dos puntos? que pasa si tiene mas de 3 puntos?

Que otra cosa hay que tener en cuenta?

Saludos
Y si tiene un cuarto de millon de puntos.????... OOPS
  #20 (permalink)  
Antiguo 06/09/2013, 14:21
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Probemos quitando todos los puntos...
  #21 (permalink)  
Antiguo 06/09/2013, 14:25
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Exclamación Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Vamos amigos ustedes saben lo exigentes que son los jefes a veces y también como programadores saben los posibles errores que los usuarios finales pueden cometer. Comprendan por favor, gracias !
  #22 (permalink)  
Antiguo 06/09/2013, 14:26
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por adryan310 Ver Mensaje
Vamos amigos ustedes saben lo exigentes que son los jefes a veces y también como programadores saben los posibles errores que los usuarios finales pueden cometer. Comprendan por favor, gracias !
Esto no responde a mi pregunta

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #23 (permalink)  
Antiguo 06/09/2013, 14:27
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

¿QUE OPINAIS?
Código PHP:
Ver original
  1. rtrim($var, '.');
  2. $var .= '.';

Última edición por PHPeros; 06/09/2013 a las 14:34
  #24 (permalink)  
Antiguo 06/09/2013, 14:36
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Dime si esta bien así:

Código PHP:
function point($var){
               
rtrim('.',$var);
               
$var .= '.';
             
//return rtrim($var, '.');
               
return $var;
           }
 
            
$texto "Esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala.";
             
            
$text point($texto);
             
            echo 
$text
Es que me imprime esto:
Cita:
Esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala..
  #25 (permalink)  
Antiguo 06/09/2013, 14:38
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por adryan310 Ver Mensaje
dime si esta bien así:

Código PHP:
function point($var){
               
rtrim('.',$var);
               
$var .= '.';
             
//return rtrim($var, '.');
               
return $var;
           }
 
            
$texto "esta lloviendo muy fuerte. Espero que deje de llover antes de la noche, ojala.";
             
            
$text point($texto);
             
            echo 
$text
es que me imprime esto:

nos estamos empezando a liar...
  #26 (permalink)  
Antiguo 06/09/2013, 14:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

O una función u otra, todavía estamos trabajando, ya te pondré el código completo cuando haya una idea estable...
  #27 (permalink)  
Antiguo 06/09/2013, 14:40
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Deberías leer el manual para entender como funciona, ademas el código de PHPeros es parecido al que hice pero tiene un error y es que no asigna la variable, así que si solucionas eso hace exactamente lo mismo que lo que te propuse

Así que te preguntare por ultima vez:

Cita:
Ahhh ya veo, entonces dime que comportamiento esperas

1. Si no tiene punto al final, colocarselo
2. Si tiene puntos suspensivos dejarselos

Ahora bien, que pasa si tiene dos puntos? que pasa si tiene mas de 3 puntos?

Que otra cosa hay que tener en cuenta?
Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #28 (permalink)  
Antiguo 06/09/2013, 14:43
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Cita:
Iniciado por jonni09lo Ver Mensaje
Deberías leer el manual para entender como funciona, ademas el código de PHPeros es parecido al que hice pero tiene un error y es que no asigna la variable, así que si solucionas eso hace exactamente lo mismo que lo que te propuse

Así que te preguntare por ultima vez:



Saludos
Ya se que tenia que haber puesto $var = rtrim(blablabla
  #29 (permalink)  
Antiguo 06/09/2013, 14:47
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Código PHP:
Ver original
  1. function point($var){
  2. if (preg_match("/$(...)/", $var){
  3. return false;
  4. }else{
  5. $var = rtrim($var, '.');
  6. $var .= '.';
  7. return $var;
  8. }
  9. }
  10. point($text2);
  #30 (permalink)  
Antiguo 06/09/2013, 14:47
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Exclamación Respuesta: ¿Como añadir un punto al final de un texto si este no existe?

Gracias por tu ayuda y opinion jonni09lo... pues la verdad es que mis jefes me los solicitaron y no puedo hacer nada mas que tratar de encontrar alguna solucion a los posibles inconvenientes que puedan surgir como por ejemplo algunos de los que tu mencionas!

Etiquetas: final, punto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:31.