PHP创建输入隐藏字段,但在值中获得空白


php creating input hidden field but getting whitespace in value

如果我有以下代码(其中我循环遍历XML元素):

  foreach($headItems->BillOfMaterialItem as $item){
          $count++;
          echo '<div style="display:none;">';
          echo '<input type="hidden" name="NEW_ITEM-DESCRIPTION['.$count.']" value="'. $item->PricatLine->ArticleData->SuppliersDescription->Description.'">';
          echo '</div>';
        }

返回i -> <input type="hidden" name="NEW_ITEM-DESCRIPTION[1]" value="PROF DICTAFOON DVR-720">

在DICTAFOON和DVR-720之间有空格,而在XML文件中没有空格。

这是我最终找到我的描述的XML:

-<SuppliersDescription>
<Description>PROF DICTAFOON DVR-720</Description>
</SuppliersDescription>

如何解决这个问题?我已经尝试了trim和div display:none

全部无效

让我们将字符串中所有额外的空白替换为一个空格。

$description = preg_replace('/'s+/', ' ', $item->PricatLine->ArticleData->SuppliersDescription->Description);
echo '<input type="hidden" name="NEW_ITEM-DESCRIPTION['.$count.']" value="'. $description.'">';

解释:
我们提供给preg_replace的模式,即/'s+/,表示一个或多个空格。这基本上是用一个空格字符替换一个或多个空格。

试试这个,也许会成功。

echo str_replace(" ","",$item->PricatLine->ArticleData->SuppliersDescription->Description);

或修剪(项目-> PricatLine -> ArticleData -> SuppliersDescription ->描述),