Usando Expresiones Regulares en PHP
PHP cuenta con varias funciones que pueden ser utilizadas con expresiones regulares, las expresiones regulares normalmente en programación ese les llama regex.
Introducción
https://blastcoding.com/usando-expresiones-regulares-en-php/#introduccionEn general, estas realizan una tarea simple, pero realmente importante, la cual es encontrar una cadena de texto que cumplan con ciertos requisitos(combinación de caracteres).
Las expresiones regulares tienen ciertas reglas, las que chequeara si estamos cumpliendo. Alugna vez te has puesto a pensar cómo sabe un input si el capo tiene tantos caracteres o tiene caracteres de menos si son numeros o si empiza por un caracter que no deberia ser?
[ADS_A1/]Funciones que utilizan Regex
https://blastcoding.com/usando-expresiones-regulares-en-php/#funcionesPHP tiene varias funciones que pueden utilizar expresiones regulares y estas son las siguientes, teniendo el simbolo * al final las más utilizadas:
- preg_match() * – https://blastcoding.com/php-preg_match/
- preg_match_all()
- preg_match_callback()
- preg_match_filter()
- preg_replace() *
- preg_replace_callback()
- preg_replace_filter()
- preg_split() *
- preg_quote() *
- preg_last_error()
- preg_last_error_msg()
- filter_input() * – PHP filter_input doc – PHP filter_input example
- filter_var() – PHP filter_var doc – PHP filter_var example
- filter_var_array() – PHP filer_var_array doc – PHP filter_var_array example
Las expresiones regulares en PHP se definen como cadenas de texto delimitadas por dos barras inclinadas (/)
Por ejemplo, si nuestra expresión regular es, [a-zA-Z]
nuestra expresión regular será como sigue "/[a-zA-Z]/"
antes de ser pasada por parámetro a la función que necesitemos usar.
Puede que vea expresiones regulares sin estar delimitadas de esta manera, pero eso puede traer problemas.
Páginas que te pueden ayudar con las expresiones regulares
https://blastcoding.com/usando-expresiones-regulares-en-php/#ayuda_onlineHay algunas páginas que son muy buenas para realizar tus expresiones regulares, ya que estas van chequeando lo que estás seleccionando cuando escribes la expresión y también puedes hacer caso para saber que es lo que toma de una cadena de caracteres y lo que no.
https://regexr.com/
https://regex101.com/
por ejemplo:
[a-zA-Z]
– nos indica que espera encontrar un caracter entrea a y z pudiendo ser este en mayusculas tambien\s
– indicara que espera un espacio en blancox{3,}
– 3 o más del carácter x pudiendo ser x cualqueir caracter[a-z]*
– 0 o más caracteres entre a y z\w
,\W
: cualquier letra o número character. Para ASCII se recomienda el uso de[a-zA-Z0-9_]
por tanto, si quisiéramos hacer regex para un dominio .com seria:
\w+.com
o[a-zA-Z0-9_]+\.com
aunque también hay dominios con – que también los podríamos agregar luegoPuedes ver más sobre las reglas en https://www3.ntu.edu.sg/home/ehchua/programming/howto/Regexe.html