2011-11-17 14 views
18

Estoy tratando de reemplazar todos los espacios con guiones y la siguiente no funciona:preg_replace todos los espacios

$id = "aa aa"; 
echo $id; 
preg_replace('/\s+/', '_', $id); 
echo $id; 

impresiones

aa aaaa aa 

Respuesta

54

La función preg_replace no modifica fy la cadena en el lugar. Devuelve una nueva cadena con el resultado del reemplazo. Debe asignar el resultado de la llamada al $id variables:

$id = preg_replace('/\s+/', '_', $id); 
+1

Tenga en cuenta que si la página está codificado con UTF-8 a continuación, debe agregar el modificador Unicode hasta el final de la expresión regular, por lo que se convierte en preg_replace ('/ \ s +/u ',' _ ', $ id); Si no agrega esto, podría causar caracteres no válidos en su texto codificado en UTF-8. Ver: https://stackoverflow.com/q/43849130/649497 – BruceHill

11

se ha olvidado de asignar el resultado de preg_replace en su $id

$id = preg_replace('/\s+/', '_', $id); 
13

Creo str_replace() podría ser más apropiado en este caso:

$id = "aa aa"; 
$id = str_replace(' ', '_', $id); 
echo $id; 
+0

Sin embargo, este código no reproduce lo que OP está intentando hacer. –

+3

@VincentSavard: "reemplaza todos los espacios con guiones bajos" ... Creo que sí :) – Clive

+0

Su oración deja lugar a la interpretación, pero su código no. Su código reemplazará cada espacio por un guión bajo, mientras que aparentemente quiere reemplazar cada grupo de caracteres en espacios en blanco por un guión bajo. –

2

Necesitamos reemplazar el espacio de la cadena "aa" con '_' (guion bajo). The \ s + se usa para hacer coincidir múltiples espacios. La salida será "aa_aa"

<?php 

$id = "aa aa"; 
$new_id = preg_replace('/\s+/', '_', $id); 
echo $new_id; 

?> 
+0

¿Puede proporcionar una explicación de cómo funciona este código? – LThode

+0

Tenemos que reemplazar el espacio en la cadena "aa aa" por "_" (guión bajo). \ s + se usa para hacer coincidir múltiples espacios. El resultado será "aa_aa" – Suja

+0

edítelo en su respuesta, por favor – LThode

Cuestiones relacionadas