如果我有以下代码(其中我循环遍历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 ->描述),