2010-12-05 23 views
6

Me gustaría tomar una cadena y quitar cualquier caracter de 0-9 y - (guiones).Devolviendo solo 0-9 y guiones de la cadena

Ejemplo:

si tengo una cadena que parece:

10 abc20-30

¿Cómo puedo hacer que este retorno cadena

10-20-30

(tira todos los personajes, además de números y guiones)

¿Hay algún tipo de expresión regular para el uso dentro de preg_match o str_replace?

Respuesta

2

Suponiendo que los datos están en $ cadena, esto eliminará todos los personajes a excepción de guiones y dígitos

$string = preg_replace('/[^-0-9]/', null, $string); 
11
$result = preg_replace('/[^\d-]+/', '', $subject); 

[^\d-] coincide con cualquier carácter excepto dígitos o tablero; el + dice "uno o más" de esos, por lo que los caracteres adyacentes serán reemplazados a la vez.

Cuestiones relacionadas