Assuming that the above code is "working"... make this change:
<?php echo "•".nl2br($_product->getResource()->getAttribute('metal')->getFrontend()->getValue($_product ))."<br/>" ?>
the .
is a string concatenation operator.
Or are you asking how to do it if the above is the HTML of a listing of products? Then this should work...
<?php
$somehtml=nl2br($_product->getResource()->getAttribute('metal')->getFrontend()->getValue($_product ));
$somehtml=explode("<br />",$somehtml); // This ASSumes nl2br inserts <br /> between each line and this
// would lead to the behaviour you want.
// see: http://php.net/manual/en/function.nl2br.php
$somehtml=implode("<br/>
•",$somehtml);
$somehtml="•".$somehtml."<br/>
";
echo $somehtml;
unset($somehtml);
?>
explode
makes an array from a string by chopping up the string via the "<br />"
. implode
then rejoins the the string by putting <br/>
•
between each element. And finally, I add the bullet point to the front and br at the end. When imploding, you still must consider the "outside" of the string.