Foros del Web » Programando para Internet » PHP »

Manejo de una cadena en php

Estas en el tema de Manejo de una cadena en php en el foro de PHP en Foros del Web. Hola, en primer lugar siento si el post está repetido, he buscado pero hay 139 páginas y no he mirado en todas. Bien, el problema ...
  #1 (permalink)  
Antiguo 24/04/2013, 12:09
 
Fecha de Ingreso: marzo-2013
Mensajes: 59
Antigüedad: 6 años, 8 meses
Puntos: 1
Manejo de una cadena en php

Hola, en primer lugar siento si el post está repetido, he buscado pero hay 139 páginas y no he mirado en todas.

Bien, el problema es este, yo tengo dos cadenas en php por ejemplo estas:

$palabra = "DINERO";
$cadena = "el seÑOR jUAn me dEBe dinero";

el objetivo es transformar $cadena en esto:

$cadena = "El señor juan me debe DINERO";

¿Es posible esta transformación con este lenguaje?

gracias, espero respuesta, un saludo
  #2 (permalink)  
Antiguo 24/04/2013, 12:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 11 años, 1 mes
Puntos: 4
Respuesta: Manejo de una cadena en php

esto seria una opcion, no se si se asemeje a lo que tu buscas

Código:
    $palabra = "DINERO";
    $cadena = "el seÑOR jUAn me dEBe ";
	
	echo $cadena.$palabra;
  #3 (permalink)  
Antiguo 24/04/2013, 12:22
Avatar de antigoo  
Fecha de Ingreso: octubre-2012
Ubicación: mx
Mensajes: 1.024
Antigüedad: 7 años, 2 meses
Puntos: 83
Respuesta: Manejo de una cadena en php

Es una concatencacion, si solo las quieres unir hay te puso berno, lo que me da una duda para cambiar una cadena a mayusculas como seria? exste alguna funcion?
__________________
Circulo webweb || uniendo webmasters, seos, comunidad para comercio

  #4 (permalink)  
Antiguo 24/04/2013, 12:35
 
Fecha de Ingreso: marzo-2013
Mensajes: 59
Antigüedad: 6 años, 8 meses
Puntos: 1
Respuesta: Manejo de una cadena en php

No busco concatenar.

lo que busco es que si tengo esto:

$palabra = "DINERO"
$cadena = " hola ME LLamo juAn y deBo dinero"

primero me pase $cadena a un formato mas correcto que sería así:

$cadena = "Hola me llamo juan y debo dinero"

para respetar la ortografía todo lo posible ya que no puedo contemplar que me encuentre nombres propios, acentuación ect,... lo que ´si que quiero es que me pase la primera letra a mayúscula y el resto sería con un strtolower.

y el segundo problema y con el que más problemas tengo es que si $palabra esta dentro de $cadena (se puede encontrar con un strpos()) me pase a mayúsculas solo esa palabra, dejando la cadena así:

$cadena = "Hola me llamo juan y debo DINERO"

gracias, por ser tan rápidos, a ver si podemos solucionar esto.
  #5 (permalink)  
Antiguo 24/04/2013, 12:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 11 años, 1 mes
Puntos: 4
Respuesta: Manejo de una cadena en php

Pues reccorerias la cadena con un ciclo y ejecutar las respectivas funciones

para minusculas esta; strtolower($texto)
Para conevertir a Mayusculas: strtoupper($variable)

y ucfirst($var) para poner en mayuscula solo la primer letra de la cadena
  #6 (permalink)  
Antiguo 25/04/2013, 09:21
 
Fecha de Ingreso: marzo-2013
Mensajes: 59
Antigüedad: 6 años, 8 meses
Puntos: 1
Respuesta: Manejo de una cadena en php

Gracias, ya tengo el tema solucionado, me ha servido la función ucfirst(); y para resaltar la palabra he utilizado una función que se llama preg_replace();
por si alguien le interesa dejo el codigo aquí

Código PHP:
//comprobar si las palabras se encuentran en las frases
    
$palabra_espanol "solucionado";
        
$frase_espanol "este tMAa ya ha sIDO solucionado";
    
    
//pasar las palabras a mayusculas
    
$palabra_espanolstrtoupper($palabra_espanol);
    
    
//formatear las frases
    
$frase_espanol strtolower($frase_espanol);
    
$frase_espanol ucfirst($frase_espanol);
    

    
//resaltar
    
$patrones '/'.strtolower($palabra_espanol).'/';
    
$sustituciones ' <strong>'.$palabra_espanol.'</strong>';
    
$frase_espanol preg_replace($patrones$sustituciones$frase_espanol); 
y la salida es: Este tema ya ha sido SOLUCIONADO

Etiquetas: cadena, manejo
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 06:38.