Мне нужно было сформировать массив определенным образом. Чтобы была структура:
[
[0] => [
[original] => "<img width="448" src="..." height="366" title="Вопрос?" alt="Вопрос?">",
[attributes] => [
[width] => "448"
[src] => "/upload/medialibrary/412/comics_151341_640.png"
[height] => "366"
[title] => "Вопрос?"
[alt] => "Вопрос?"
],
[1] => ...
]
Получившаяся структура наглядно:
Всё сделал, но понимаю что код как-будто не читабельный:
preg_match_all('/(?<=\<img).*?(?=>)/', $this->html, $match, PREG_PATTERN_ORDER);
$this->tags = array_map(
fn($strTag) => [
"original" => "<img " . $strTag . ">",
"attributes" => array_map(
fn($attribute) => array_pop(explode("=", $attribute)),
array_combine(
array_map(
fn($attribute) => array_shift(explode("=", $attribute)),
explode(" ", trim($strTag))
),
explode(" ", trim($strTag))
)
)
],
$match[0]
);
Подскажите, как сделать его более читабельным? Возможно перемудрил. Я рад был бы что-то почитать на эту тему, буду рад если подскажите.