Regex de PHP: cómo convertir una cadena de HTML con enlaces en texto sin formato que muestra la URL después del texto entre corchetes

Estoy buscando una forma en PHP (con regex, tal vez?) Para convertir una cadena de HTML que incluye enlaces en una cadena de texto sin formato que agrega la URL del enlace después del texto.

Aquí hay un ejemplo de lo que estoy pensando:

$html = '

Link name for something or another. Another link to something else.

' // Regex to find the URLs ???? // Add the found URLs as strings after the closing a tags ???? // Convert to plain text $text = trim(strip_tags($html));

Idealmente, terminaría con esta cadena:

 Link name [http://www.example.com/maybe/something/here/] for something or another. Another link [https://www.examplesecure.com/] to something else. 

Use SimpleXMLelemnt para esto:

  $htmlString = '

some textmore text'; libxml_use_internal_errors(true); //suppress errors when importing invalid HTML $dom = new DOMDocument(); $dom->loadHTML($htmlString); $xpath = new DOMXPath($dom); $links = []; $linksAsString = ''; foreach ($xpath->query('//a') as $linkElement){ /** * @var DOMElement $linkElement */ $link = [ 'href' => $linkElement->getAttribute('href'), 'text' => $linkElement->textContent ]; $links[] = $link; $linksAsString .= $link['text'] . "[{$link['href']}] "; } libxml_clear_errors(); var_dump($links); echo $linksAsString;