Cuando se presiona una tecla en una entrada, llamo a esto por su valor

.trim().replace(/ /g, '.').replace(/[^\w .-]/gi, '').toLowerCase();

Lo que quiero hacer es, cuando el valor se envía al servidor, quiero hacer una función que tome el valor, divertir la versión php de esta función, y si la nueva cadena es diferente a la cadena original, devuelve falso de lo contrario, devuelve verdadero.

Entonces, ¿cuál es el equivalente php de la línea de código anterior?

Obviamente puedo usar strtolower(str_replace(' ', '.', trim($value)))

Lo que significa que solo necesito el equivalente de .replace(/[^\w .-]/gi, '')

1
Hailwood 24 jun. 2011 a las 17:44

3 respuestas

La mejor respuesta
preg_replace('/[^\w .-]/', '', $subject);

Notas: La bandera global g no es necesaria en php. La marca i no es necesaria para \ w.

Y como nota al margen: en realidad no necesita el espacio en la clase de caracteres porque ya eliminó espacios.

1
Leif 24 jun. 2011 a las 13:54

¿Podría ser preg_replace (patrón, reemplazo)?

http://php.net/manual/en/function.preg-replace.php

1
rciq 24 jun. 2011 a las 13:45

Parece que has encontrado strtolower y trim por tu cuenta. para reemplazar algo usando una expresión regular, simplemente use preg_replace (o preg_filter si el reemplazo también debe ser una expresión regular).

Dependiendo de la versión de php que esté usando, también hay ereg_replace , pero no debes confiar en eso ya que está en desuso. si es posible, use preg_replace / preg_filter.

1
oezi 24 jun. 2011 a las 13:46