0

Here's my echo:

echo '
    <div class="col-md-6 info" id="outerDiv">
        <div class="row">
            <strong>
                <a href="#" data-toggle="tooltip" title="'.
                    $estado->dados($value[$c]->estado)->sigla.
                    ': '.
                    $cidade->dados($value[$c]->cidade)->nome.
                    fwrite("\n").$value[$c]->tel1.
                    '" id="title'.$c.'">'.$value[$c]->nome_fantasia.'</a>
            </strong>
                <div id="content'.$c.'" hidden>
                    <div class="row-fluid">
                        <div class="col-md-12">
                            <ul class="list-group">
                                <li class="list-group-item">Razão Social: '.$value[$c]->razao_social.'</li>
                                <li class="list-group-item">CNPJ: '.$value[$c]->cnpj.'</li>
                                <li class="list-group-item">Endereço: '.$value[$c]->endereco.'</li>
                                <li class="list-group-item">Número: '.$value[$c]->numero.'</li>
                                <li class="list-group-item">Complemento: '.$value[$c]->complemento.'</li>
                                <li class="list-group-item">Bairro: '.$value[$c]->bairro.'</li>
                                <li class="list-group-item">Tel1: '.$value[$c]->tel1.'</li>
                                <li class="list-group-item">Tel2: '.$value[$c]->tel2.'</li>
                            </ul>
                        </div>
                    </div>
                </div>
        </div>
    </div>
    '

I've tried to use fwrite("\n"), but it does not work. I really wanted a new-line character inside that tooltip. Is there a cure?

Ericson Willians
  • 7,606
  • 11
  • 63
  • 114

3 Answers3

2

Have you tried using the entity code (&#013;)?

$estado->dados($value[$c]->estado)->sigla . ': ' . $cidade->dados($value[$c]->cidade)->nome . '&#013;' . $value[$c]->tel1 . '" id="title' . $c . '">' . $value[$c]->nome_fantasia

Another suggestion would be to use a heredoc and some formatted breaks:

$anchor = <<<EOT

<a title='Tip
With
Carriage
Returns'>link</a>

EOT;

Then just concatenate the $anchor with the rest of your string.

Another suggestion would be to do this post-page-load with JavaScript:

var space = '\x0A';

element.setAttribute("title", 'Tip' + space + 'With' + space + 'Carriage' + space + 'Returns');
shennan
  • 10,798
  • 5
  • 44
  • 79
1

Lose the echo, close the PHP block and just let the parser output the HTML. If you have short tags enabled, you can embed PHP code inside this HTML using <?= ?>, otherwise you can use <? echo ?> instead.

I think this is a much cleaner way

?>

<div class="col-md-6 info" id="outerDiv">
    <div class="row">
        <strong>
            <a href="#" data-toggle="tooltip" title="<?=$estado->dados($value[$c]->estado)->sigla?>: <?=$cidade->dados($value[$c]->cidade)->nome?>\n<?=$value[$c]->tel1?>" id="title<?=$c?>"><?=$value[$c]->nome_fantasia?></a>
        </strong>

        <div id="content<?=$c?>" hidden>
            <div class="row-fluid">
                <div class="col-md-12">
                    <ul class="list-group">
                        <li class="list-group-item">Razão Social: <?=$value[$c]->razao_social?></li>
                        <li class="list-group-item">CNPJ: <?=$value[$c]->cnpj?></li>
                        <li class="list-group-item">Endereço: <?=$value[$c]->endereco?></li>
                        <li class="list-group-item">Número: <?=$value[$c]->numero?></li>
                        <li class="list-group-item">Complemento: <?=$value[$c]->complemento?></li>
                        <li class="list-group-item">Bairro: <?=$value[$c]->bairro?></li>
                        <li class="list-group-item">Tel1: <?=$value[$c]->tel1?></li>
                        <li class="list-group-item">Tel2: <?=$value[$c]->tel2?></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>

<?
zootropo
  • 2,441
  • 3
  • 31
  • 48
0

I feel it's as simple as losing the fwrite but still using double quotes..:

echo '
    <div class="col-md-6 info" id="outerDiv">
        <div class="row">
            <strong>
                <a href="#" data-toggle="tooltip" title="'.
                    $estado->dados($value[$c]->estado)->sigla.
                    ': '.
                    $cidade->dados($value[$c]->cidade)->nome.
                    "\n".$value[$c]->tel1.
                    '" id="title'.$c.'">'.$value[$c]->nome_fantasia.'</a>
            </strong>
                <div id="content'.$c.'" hidden>
                    <div class="row-fluid">
                        <div class="col-md-12">
                            <ul class="list-group">
                                <li class="list-group-item">Razão Social: '.$value[$c]->razao_social.'</li>
                                <li class="list-group-item">CNPJ: '.$value[$c]->cnpj.'</li>
                                <li class="list-group-item">Endereço: '.$value[$c]->endereco.'</li>
                                <li class="list-group-item">Número: '.$value[$c]->numero.'</li>
                                <li class="list-group-item">Complemento: '.$value[$c]->complemento.'</li>
                                <li class="list-group-item">Bairro: '.$value[$c]->bairro.'</li>
                                <li class="list-group-item">Tel1: '.$value[$c]->tel1.'</li>
                                <li class="list-group-item">Tel2: '.$value[$c]->tel2.'</li>
                            </ul>
                        </div>
                    </div>
                </div>
        </div>
    </div>
    '
Codemonkey
  • 4,455
  • 5
  • 44
  • 76