Шаблоны выносить в отдельные файлы.
Если тебе нужно весь этот HTML складывать в переменную, то вот тебе волшебная функция:
function render($part, array $vars=[]) {
extract($vars);
ob_start();
require __DIR__ . "/views/" . $part . ".php"; // путь тут поправь в соответствии с твоими реалиями
return ob_get_clean();
}
Всё, дальше свои шаблоны можешь складывать в папке /views.
Итого, в твоем исходном файле будет вот такой код вместо твоей портянки:
$user_html_entity = render("user_entity", compact(
"user_id",
"user_avatar_link",
"user_nickname",
"user_last_online_datetime",
"user_initials_info_string",
"user_location_string"
));
А, твой шаблон будет лежать красиво отдельно и там будет HTML с минимальным количеством PHP для вывода динамически генерируемых данных.
Вот так примерно:
<a href="/user/<?= $user_id ?>" class="user" data-id="users___user_link">
<div class="section_900">
<img src="<?= $user_avatar_link ?>">
<div class="no_image_content">
<p class="nickname"><?= $user_nickname ?></p>
<p class="online_status"><?= Get_Online_Status_From_Datetime($user_last_online_datetime) ?></p>
<p class="initials"><?= $user_initials_info_string ?></p>
<p class="location"><?= $user_location_string ?></p>
</div>
</div>
</a>
PS Волшебную функцию можно будет использовать и внутри самого шаблона, так что если у тебя будет много кода, который надо будет побить на меньшие кусочки, то и это ты легко сможешь сделать