php 的备用空格

发布于 2024-12-08 04:01:32 字数 797 浏览 0 评论 0原文

我的 php 文件中有以下行:

$labels['study'] = 'Study';

然后,我将该文件包含在索引页中以打印该值。它获取了值,但不是打印“Study”,而是打印“Study”(开头有一个空白)。 我尝试将trim()应用于返回值和其他地方,但没有效果。

我返回值的方式是:

<?=get_label('study')?>

开头总是有一个空白(或其他空白字符)。

我想知道为什么会发生这种情况。有什么想法吗?

get_label 函数是这样的:

function get_label($texto){
    require("lang/".$_SESSION['lang'].".php");
    $traduccion = trim($labels[$texto]);
    if($traduccion == '')
        return '['.$texto.']';
    else
        return $traduccion;

以及我调用该函数的上面和下面的代码:

<div>
    <h2><?=get_label('Estudio')?></h2>
    <?=get_text('estudio');?></div> 
</div>

我已经尝试在同一行(从 到 )中使用所有这些代码,但它都不起作用。

I have the following line in a php file:

$labels['study'] = 'Study';

Then, I include that file in my index page to print the value. It gets the value but instead of printing "Study", it prints " Study" (with a blank at the beginnig).
I've tried aplying trim() to the returned value and in other places but it has no effect.

The way I'm returning the value is:

<?=get_label('study')?>

There is always a blank (or other blank characters) at the beginning.

I'm wondering why this happens. Any idea?

The get_label function is this:

function get_label($texto){
    require("lang/".$_SESSION['lang'].".php");
    $traduccion = trim($labels[$texto]);
    if($traduccion == '')
        return '['.$texto.']';
    else
        return $traduccion;

And the code above and below where I call the function:

<div>
    <h2><?=get_label('Estudio')?></h2>
    <?=get_text('estudio');?></div> 
</div>

I've tried with all of it in the same line (from to ) and it neither works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与之呼应 2024-12-15 04:01:32

您可能在 HTML 代码中的 标记之前有一个空格,而不是在 PHP 变量中。

如果这不是一个空格,它也可能是一个新行(在 HTML 中)。

You probably have a space in the HTML code before the <?= tag, not in the PHP variable.

If that's not a space, it could be a new line as well (in the HTML).

一抹苦笑 2024-12-15 04:01:32

我认为问题出在空格的其他地方,但您可以尝试返回一个子字符串 - 即除了第一个字符(即空格)之外的所有内容,或者尝试使用正则表达式来删除空格?

echo substr('abcdef', 1);     // bcdef

或者

$sPattern = '/\s*/m';
$sReplace = '';
$sTestString = $labels['study'] 

preg_replace( $sPattern, $sReplace, $sTestString )

I think the problem lies elsewhere with the whitespace but you could try returning a substring - i.e. everything but the first character (which is the space) or try regexp to get rid of the whitespace?

echo substr('abcdef', 1);     // bcdef

or

$sPattern = '/\s*/m';
$sReplace = '';
$sTestString = $labels['study'] 

preg_replace( $sPattern, $sReplace, $sTestString )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文