Whitespace opcional regex: ignorando los espacios en los valores de atributo
en la programación, hay escenarios en los que necesita manejar las instancias donde las impresiones contienen blancas opcionales. Esto puede ser un desafío al escribir expresiones regulares para extraer datos con precisión.
Considere el siguiente código:
# Get Image data preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch); $image = $imagematch[4];
Este código extrae el atributo SRC de una imagen de HTML Markup. Sin embargo, no maneja casos en los que no hay espacio en blanco entre ciertos atributos, como:
<a href="/wiki/File:Sky1.png" title="File:Sky1.png"><img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png"width="150" height="84"></a>
o
<a href="/wiki/File:TallGrass.gif" title="File:TallGrass.gif"><img alt="TallGrass.gif" src="http://media-mcw.cursecdn.com/3/34/TallGrass.gif" width="150"height="150"></a>
Para abordar este problema, podemos usar opcional Whitespace Regex. Esto nos permite ignorar los espacios intermedios entre los personajes. Aquí está cómo:
#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#en esta expresión regular actualizada:
[&] \ s? antes = significa que un espacio está permitido pero opcional.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3