使用PHP回显不带空格的字符串

使用PHP回显不带空格的字符串,php,Php,我有一个带有链接列表的foreach循环,我试图删除字符串中的空格,因为我将把它用作href。到目前为止,我成功地删除了空格,但我编写的代码在字符串之前留下了很大的空格。这是我的foreach循环 <ul class="list grid effect-6" id="grid"> <?php foreach ($ppmtenants as $ppmtenant): ?> <li><span class="tenant">&

我有一个带有链接列表的foreach循环,我试图删除字符串中的空格,因为我将把它用作href。到目前为止,我成功地删除了空格,但我编写的代码在字符串之前留下了很大的空格。这是我的foreach循环

 <ul class="list grid effect-6" id="grid">
  <?php foreach ($ppmtenants as $ppmtenant): ?> 
         <li><span class="tenant"><a href="<?php echo $this->getURL() ?>catalogsearch/advanced/result/?tenants=<?php echo $ppmtenant['value'] ?>"><?php echo $ppmtenant['label'] ?></a><a href="<?php echo $this->getURL() ?>?___store=
    <?php 
    $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);
    echo strtolower($ppmtenantnospace); 
    ?>"></a></span></li>
<?php endforeach; ?>

    </ul>
下面是我删除空格的步骤。我用preg_替换。现在,空格消失了,但在字符串前面有一个很大的空格

 <?php 
    $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);
    echo strtolower($ppmtenantnospace); 
    ?>

这里的实例:。 截图如下:


如您所见,如果您将鼠标悬停在图像上,则在?之后会出现一个不需要的空格?。应该没有空间让我的永久链接可以工作。如果这个空间消失了,我的问题就会解决。但我不知道如何让它消失。我希望这里的php专家能帮助我:(

空白实际上在HTML代码中 您应该在
=

<ul class="list grid effect-6" id="grid">
  <?php foreach ($ppmtenants as $ppmtenant): ?> 
         <li><span class="tenant"><a href="<?php echo $this->getURL() ?>catalogsearch/advanced/result/?tenants=<?php echo $ppmtenant['value'] ?>"><?php echo $ppmtenant['label'] ?></a><a href="<?php echo $this->getURL() ?>?___store=<?php 
    $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);
    echo strtolower($ppmtenantnospace); 
    ?>"></a></span></li>
<?php endforeach; ?>

    </ul>

尝试在代码中换行符之前打开PHP标记

<ul class="list grid effect-6" id="grid">
  <?php foreach ($ppmtenants as $ppmtenant): ?> 
     <li><span class="tenant"><a href="<?php echo $this->getURL() ?>catalogsearch/advanced/result/?tenants=<?php echo $ppmtenant['value'] ?>"><?php echo $ppmtenant['label'] ?></a><a href="<?php echo $this->getURL() ?>?___store=<?php 

     $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);
     echo strtolower($ppmtenantnospace); 
     ?>"></a></span></li>
     <?php endforeach; ?>
</ul>

您是否尝试粘贴
问题来自html中的空格。要解决此问题,只需将
$ppmtenantnospace
的变量声明移到li输出上方,然后在正确的位置回显:

<ul class="list grid effect-6" id="grid">
    <?php foreach ($ppmtenants as $ppmtenant): 

        $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);?>

        <li><span class="tenant"><a href="<?php echo $this->getURL() ?>catalogsearch/advanced/result/?tenants=<?php echo $ppmtenant['value'] ?>"><?php echo $ppmtenant['label'] ?></a><a href="<?php echo $this->getURL() ?>?___store=<?php echo $ppmtenantnospace;?>"></a></span></li>

    <?php endforeach; ?>

</ul>

我会先格式化字符串,然后再进行连接(主要是为了可读性,但这可能会解决您的问题)修剪preg_替换的结果。但是,您提供的示例没有“catalogsearch/advanced/result/”在他们里面。谢谢!这已经解决了。现在我感觉好傻。吃了我几秒钟,该死的:这解决了我的问题。但是我会接受user574632的回答,因为他是第一个给出提示的人。我从来没有想到解决方案就在我面前。哈哈哈!再次谢谢。多哈..等一下。哈哈哈。也许这就是问题所在anks!你太快了!这立刻解决了我的问题。太棒了!哈哈哈哈哈哈哈…现在我觉得自己太笨了。:Dyou不客气,不用担心!@Dragony同时找到了它。哈哈哈…是的。我真的很高兴stackoverflow,每个人都回答得这么快。:D再次感谢。:D这也解决了我的问题。但我会接受user574632的答案,因为他没有他是第一个给小费的人。我从来没有想到解决办法就在我面前。哈哈哈!谢谢你。龙。多谢。我以为安托万是第一个给小费的人,但你是第一个,所以我会接受你的回答。谢谢你的小费
<ul class="list grid effect-6" id="grid">
    <?php foreach ($ppmtenants as $ppmtenant): 

        $ppmtenantnospace = preg_replace('/\s+/','',$ppmtenant['label']);?>

        <li><span class="tenant"><a href="<?php echo $this->getURL() ?>catalogsearch/advanced/result/?tenants=<?php echo $ppmtenant['value'] ?>"><?php echo $ppmtenant['label'] ?></a><a href="<?php echo $this->getURL() ?>?___store=<?php echo $ppmtenantnospace;?>"></a></span></li>

    <?php endforeach; ?>

</ul>