PHP - sustitución de palabras

 
Vista:

sustitución de palabras

Publicado por nervis (5 intervenciones) el 05/03/2020 09:56:25
Hola

Lo primero decir que no tengo ni idea de programación.

tengo que sustituir palabras, mas bien traducirlas

ejemplo:

'blu','arancio' etc....

y la sustitución es

'blue','amarillo'

el problema es que cuando una palabra empieza por blu me hace la traducción
ejemplo:

blusa y me pone.... bluesa

sabéis como puedo solucionar eso?, osea que me coja solo las palabras que este tal y como quiero en la traduccion no las palabras que tengan blu en cualquier parte de la palabra
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sustitución de palabras

Publicado por Julio (830 intervenciones) el 05/03/2020 10:02:54
Hola.

¿Pero cómo estás haciendo esa traducción? ¿Qué utilizas? ¿Cómo es el código? ¿Qué tienes?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sustitución de palabras

Publicado por nervis (5 intervenciones) el 05/03/2020 10:09:16
supongo que te refieres a esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
protected function PrepararRow($row)
{
    if($row[23]>0){
        if(!empty($row) && isset($row[1]))
        {
            $row[8] = $row[8][1]==','?substr($row[8], 2):$row[8];
            $row[8] = $row[8][0]==','?substr($row[8], 1):$row[8];
        }
$italiano = array('blu',' arancio ');
 
$espanol = array('blue','amarillo');
 
$row[4]=str_replace($italiano,$espanol,strtolower($row[4]));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sustitución de palabras

Publicado por Julio (830 intervenciones) el 05/03/2020 10:18:06
Deberías cambiar str_replace y utilizar preg_replace. Con esta función buscas un patrón para realizar el cambio. Deberías hacer algo así:

1
2
3
4
$italiano = array('/\bblu\b/u','/\barancio\b/u');
$espanol = array('blue','amarillo');
 
$text = preg_replace($italiano, $espanol, $text);

Básicamente le estás pasando un patrón que indica que blu y arancio deben ser unas palabras completas para ser sustituidas. Así, blusa no la considerará una palabra completa y no la cambiará. Lo que hace str_replace es cambiar todas las que encuentra, independientemente de dónde estén.

Creo que con el patrón que te he puesto debería ir bien, porque a veces la construcción de esos patrones es bastante enrevesada. Por cierto, ¿por qué blu en italiano pasa a traducirse como blue en español y no como azul? Jaja.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

sustitución de palabras

Publicado por nervis (5 intervenciones) el 05/03/2020 10:24:13
gracias crack

me ha funcionado perfectamente

pues porque empece traduciendo colores y al final he decidido que los colores los dejare en ingles, solo otras palabras las pasare de italiano a español pero los colores no porque casi todos vienen en ingles y alguno en italiano

gracias julio, me has salvado la vida

vete al bar de abajo que tienes las tapas y las cervezas pagadas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sustitución de palabras

Publicado por Julio (830 intervenciones) el 05/03/2020 10:26:56
Me alegro de que te haya ido bien. Y gracias por las tapas, aunque no bebo alcohol así que me conformo con que te pases por mi blog y te suscribas si te apetece.

Tiene que ser un rollo hacer todas las traducciones palabra por palabra.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sustitución de palabras

Publicado por nervis (5 intervenciones) el 05/03/2020 10:36:20
suscrito

estan pagadas sin alcohol

si un rollo traducir palabra por palabra pero piensa que me traduce muchas de una vez, osea cada vez que pone pantaloni me pone pantalones y hay miles, imagínate hacerlo de uno en uno, seria todavía peor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sustitución de palabras

Publicado por Julio (830 intervenciones) el 05/03/2020 10:38:55
¡Gracias!

Sí, entiendo. Si son palabras escritas por el usuario no te queda otra que traducirlas así. Aunque si el sistema lo montas tú, siempre puedes ir traduciendo frases completas, que al final es más cómodo.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sustitución de palabras

Publicado por nervis (5 intervenciones) el 05/03/2020 10:42:24
bueno de hecho ya esta casi todo, ya solo encuentro palabras esporádicas que salen poco pero ya casi esta todo bien

el problema mayor era ese, que me traducía palabras que empezaban o en el medio de la palabra y yo que no tengo ni idea pues ya me estaba empezando a rallar

muchas gracias por todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar