необязательный regex: игнорирование пространств в значениях атрибутов
В программировании существуют сценарии, где вам нужно обрабатывать экземпляры, где строки содержат дополнительные недостатки. Это может быть сложно при написании регулярных выражений для точного извлечения данных. preg_match ('#& lt; a href = & quot; (.*?) & quot; title = & quot; (.*?) & quot; & gt; & lt; img alt = & quot; (.*?) & quot; src = & quot; (.*?) & quot; [\ s*] width = & quot; 150 & quot; [\ s*] height = & quot; (.*?) & quot; & gt; & lt;/a & gt;#', $ data, $ imagematch); $ image = $ imageMatch [4];
Этот код извлекает атрибут SRC изображения из HTML Markup. Тем не менее, он не может обрабатывать случаи, когда между определенными атрибутами нет пробелов, таких как:
# Get Image data preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch); $image = $imagematch[4];& lt; a href = & quot;/wiki/file: sky1.png & quot; title = & quot; файл: sky1.png & quot; & gt; & lt; img alt = & quot; sky1.png & quot; src = & quot; http: //media-mcw.cursecdn.com/thumb/5/56/sky1.png/150px-sky1.png" width = & quot; 150 & quot; height = & quot; 84 & quot; & gt; & lt;/a & gt;
или
<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>
& lt; a href = & quot;/wiki/file: tallgrass.gif & quot; title = & quot; файл: tallgrass.gif & quot; & gt; & lt; img alt = & quot; tallgrass.gif & quot; src = & quot; http: //media-mcw.cursecdn.com/3/34/tallgrass.gif" width = & quot; 150 & quot; height = & quot; 150 & quot; & gt; & lt;/a & gt; Для решения этой проблемы мы можем использовать дополнительную переподключение от пробела. Это позволяет нам игнорировать пространства между персонажами. Вот как:
<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>
\ s* После значения атрибута позволяет необязательное пространство после имени атрибута и значения.
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3