in

php – Coincidencia de un espacio en regex

apple touch icon@2

Si estás buscando un espacio, ese sería " " (un espacio).

Si está buscando uno o más, es " *" (esa es dos espacios y un asterisco) o " +" (un espacio y un plus).

Si está buscando un espaciado común, use "[ X]" o "[ X][ X]*" o "[ X]+" dónde X es el carácter de tabulación física (y cada uno está precedido por un solo espacio en todos esos ejemplos).

Estos funcionarán en cada* motor de expresiones regulares que he visto (algunos de los cuales ni siquiera tienen uno o más "+" personaje, ugh).

Si sabe que utilizará uno de los motores de expresiones regulares más modernos, "s" y sus variaciones son el camino a seguir. Además, creo que los límites de las palabras también coinciden con el inicio y el final de las líneas, lo que es importante cuando busca palabras que pueden aparecer sin espacios anteriores o posteriores.

Para PHP específicamente, esta página puede ayudar.

De su edición, parece que desea eliminar todos los caracteres no válidos El comienzo de esto es (tenga en cuenta el espacio dentro de la expresión regular):

$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
#                                    ^ space here

Si también quiere trucos para asegurarse de que solo haya un espacio entre cada palabra y ninguno al principio o al final, eso es un poco más complicado (y probablemente otra pregunta), pero la idea básica sería:

$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag);  # remove space from start
$newtag = preg_replace ("/ $/", "", $tag);  # and end

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

decorator pattern uml diagram

Patrones de diseño – Patrón de decorador

gfg 200x200 min

Convertir doble en entero en Java