简体   繁体   English

如何在PHP单引号内的工具提示标题html属性中使用换行符?

[英]How can I use a new-line character within a tooltip title html attribute inside a single-quoted echo in PHP?

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. 我尝试使用fwrite(“ \\ n”),但是它不起作用。 I really wanted a new-line character inside that tooltip. 我确实希望该工具提示中包含换行符。 Is there a cure? 有治疗方法吗?

Have you tried using the entity code ( &#013; )? 您是否尝试过使用实体代码( &#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: 另一个建议是使用heredoc和一些格式化的中断:

$anchor = <<<EOT

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

EOT;

Then just concatenate the $anchor with the rest of your string. 然后只需将$anchor与其余字符串连接起来。

Another suggestion would be to do this post-page-load with JavaScript: 另一个建议是使用JavaScript进行此页面后加载:

var space = '\x0A';

element.setAttribute("title", 'Tip' + space + 'With' + space + 'Carriage' + space + 'Returns');

Lose the echo, close the PHP block and just let the parser output the HTML. 丢失回声,关闭PHP块,然后让解析器输出HTML。 If you have short tags enabled, you can embed PHP code inside this HTML using <?= ?>, otherwise you can use <? 如果启用了短标记,则可以使用<?=?>将PHP代码嵌入此HTML中,否则可以使用<? 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>

<?

I feel it's as simple as losing the fwrite but still using double quotes..: 我觉得这就像丢失fwrite一样简单,但仍使用双引号..:

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>
    '

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM