PHP在变量

时间:2017-06-30 17:59:41

标签: php

我有这个PHP代码段,它使<li>的某个ID由mysqli_query获取的行选择。它看起来像这样:

while($row=mysqli_fetch_array($run_query)){
  $name=$row['company_name'];
  echo "<li><a href='#' id=".$name." class='category_sidebar2'>$name</a></li>";
}

$name是像戴尔或Facebook这样的单个实体时,它会创建<li>就好了,但当$name是一个空格分隔的值,如&#34; Tata钢&#34;或其他什么,它创建<li> id只是空格前的第一个值。

例如,如果$name是&#34; Tata Steel&#34;,它就会回应

<li><a href='#' id='Tata'></li>

而不是

<li><a href='#' id='Tata Steel'></li>

我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果属性包含空格,则需要在属性周围加上引号。否则,该空间将结束该属性。你应该养成总是在属性上加引号的习惯(就像你为hrefclass所做的那样)。

while($row=mysqli_fetch_array($run_query)){
  $name=$row['company_name'];
  echo "<li><a href='#' id='".$name."' class='category_sidebar2'>$name</a></li>";
}

但是,正如评论中所提到的,id属性中允许的空格。您可以用其他字符替换空格,例如

$name = str_replace(' ', '_', $row['company_name']);