这是我的应用程序中的一个HTML片段:
Correct answers:
0 / 6<br /><br />
You have failed to pass the final test.
<a href="/module/controller/course/id/5" class="accessible-link">
Click here
</a>
to return to the training.
正如你所看到的,在</a>
结束标签之后有一个空格。然而在浏览器中,空格被添加到锚内部。所以它看起来像这样:
这是生成HTML的PHP代码:
<?php if (isset($this->correctAnswersCount) && isset($this->answersCount)): ?>
<?php echo Zend_Registry::get('translate')->_('Počet správnych odpovedí'); ?>:
<?php echo ToHtml($this->correctAnswersCount); ?> / <?php echo ToHtml($this->answersCount); ?><br /><br />
<?php endif; ?>
<?php echo Zend_Registry::get('translate')->_('Záverečný test sa vám nepodarilo úspešne absolvovať.'), "\n"; ?>
<a href="<?php echo ToHtml($this->backToCourseUri); ?>" class="accessible-link">
<?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>
</a>
<?php echo Zend_Registry::get('translate')->_('pre návrat do kurzu.'), "\n"; ?>
我完全被这件事搞糊涂了,尽管我已经盯着代码看了30分钟了,但我还是不知道是什么原因导致了这一点。
这是翻译文件中的相关部分:
'Kliknite' => 'Click here',
正如您所看到的,Zend_Translate不应该添加任何空间。
4条答案
按热度按时间8ulbf1ek1#
直接在下一个标签之后关闭'a'标签,不带换行符,如下所示:
2eafrhcq2#
更改此内容:
变成这样:
</a>
应该在<?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>
(又名)后面的同一行中单击此处新行和它后面的空格呈现为仍然在
<a></a>
标记内的1个空格,这就是空格的来源。为了记录在案,我也不喜欢关闭标签是旁边的内容,而不是在一个新的一行,但这是如何必须这样做,以正确的工作。
我喜欢好的格式化代码,我总是在我的IDE中寻找一个自动格式化命令。
但至少在Visual Studio中,当你按Ctrl + K,Ctrl + D(格式化文档快捷键)时,像
</a>
这样的结束标签不会自动移动到新的一行,原因如下:它不应该破坏它在自动格式化之前的外观。zwghvu4y3#
试试这样:
我不确定这是否可行,但值得一试。
uxh89sit4#
将
直接放在</a>
标记之后。