If you want to get those quotes out there you will have to do this:
trim(nl2br($texto));
Unless at the time you are printing the variable you have done so:
<div>
<?php echo nl2br($texto); ?>
</div>
Because in this case, the given line break in the div counts as space (which generates those quotes in the firebug
interpreter).
In this case, you can do this:
<div><?php echo trim(nl2br($texto)) ?></div>
I made the following test for you to verify that my last two examples have differences:
<?php ob_start() ?>
<div>Meu nome é Wallace</div>
<?php var_dump(ob_get_clean()) ?>
<?php ob_start() ?>
<div>
Meu nome é Wallace
</div>
<?php var_dump(ob_get_clean()) ?>
The results are:
string(31) "<div>Meu nome é Wallace</div>
"
string(34) "<div>
Meu nome é Wallace
</div>
"
Note that these line breaks are rendered as string contents.
The first string has the underscore because I needed to break the line to put var_dump(ob_get_clean())