можно использовать буферизацию, чтобы захватить выход вашего PHP программы в то время как она работает, чтобы разобрать частичное HTML документа вы уловили из него, а затем извлечь значение атрибута из него ... но что бы быть безумно сложным.
Этот путь - безумие. Перейти к следующему разделу для разумного подхода к проблеме.
<?php
ob_start();
?>
<!DOCTYPE HTML>
<meta charset="utf-8">
<title>Experiments in output buffering</title>
<div class="btn" id="foo" bar="baz">
<?php
$doc = ob_get_contents();
$dom = new domDocument;
$dom->loadHTML($doc);
$div = $dom->getElementById('foo');
$bar = $div->attributes->getNamedItem('bar')->value;
echo "The value of \$bar is $bar";
?>
</div>
Если вы хотите использовать часть данных в нескольких местах, а затем сохранить его в переменной (или постоянной), а затем использовать его в разных местах.
<?php
$bar = get_user_preference();
?>
<div class="btn" id="foo" bar="<?php echo htmlspecialchars($bar); ?>">
<?php
$stmt = $db->prepare('SELECT * FROM foo WHERE bar = ? ORDER BY barname ASC');
$stmt->bind_param('s',$bar);
$stmt->execute();
?>
</div>
Вы имеете в виду использование jquery/javascript для изменения атрибута? Если да, вам нужно ajax для динамического вызова php-скрипта. –