这里我有我的打印功能:
<?php
// little helper function to print the results
function printTag($tags) {
foreach($tags as $t) {
echo '<span class="' . $t['tag'] . '">';
echo $t['token'] . "/" . $t['tag'];
echo '</span>';
echo " ";
}
}
$tagger = new PosTagger('lexicon.txt');
?>
以下是我从HTML表单输出的内容:
<?php
if($_POST['submitbutton'] == "Submit") {
//Check whether the form has been submitted
$tags = $tagger->tag($_POST['texttotag']);
printTag($tags);
}
?>
我的问题是,浏览器中的输出会在我<span>
的某些中间产生奇怪的换行符,如下所示:
<span class="VB">Enter/VB</span> <span class="PRP$">your/PRP$</span> <span class="NN
">text/NN
</span> <span class="TO">to/TO</span> <span class="NN">tag/NN</span> <span class="RB
">here/RB
</span>
这意味着我的CSS定义不适用于“中断”的跨度。知道为什么会这样,我怎么能阻止它?我已经好好看看并且无法找到原因/解决方案。感谢。
答案 0 :(得分:2)
您的$t['tag']
变量似乎包含换行符。
您可以使用trim($t['tag'])
取而代之。
答案 1 :(得分:0)
printTag函数中的$ t ['tag']似乎包含换行符。您可以使用str_replace函数删除这些字符,如:
function printTag($tags) {
foreach($tags as $t) {
echo '<span class="' . $t['tag'] . '">';
$ttag = str_replace('\n','',$t['tag']);
$ttag = str_replace('\r','',$ttag);
echo $t['token'] . "/" . $ttag;
echo '</span>';
echo " ";
}
}