这个str_replace代码中是否有拼写错误? /我读得对吗?

时间:2014-04-22 00:24:09

标签: php str-replace

这是来自PHP文件的代码行,特别是来自zstore.php,它是一个文件包含在Zazzle.com的“Zazzle Store Builder”工具集中

这组文件允许像我这样的人在Zazzle上销售产品并按摩这些数据到一个更好的“店面”,我可以设置自己的方式,而不是受Zazzle.com的CMS结构限制,他们在那里可以理解的是,想让猴子(嗯......像我这样的用户)不要造成太大的混乱。

所以......这是代码:

$keywords = str_replace(" ",",",str_replace(",","",$keywords));

两个问题:

  1. 我理解它的作用和
  2. 字符串中是否有额外的单引号或双引号,不需要在那里?
  3. 以下是我认为代码行说的内容:

    获取用户输入的字符串(舞蹈diva)并将其分配给名为

    的变量

    $keywords

    然后在该字符串

    上运行以下函数

    = str_replace

    (" ",","<<<寻找空间。如果找到空格,请用逗号

    替换它

    ,str_replace(",","" <<<这是我不明白或可能有错字的一点

    我认为它是在说“如果你找到逗号,请不要管它们,但我不确定。”

    ,$keywords));<<<然后将编辑后的字符串备份到名为$ keywords的变量。

    让我看到这一点的原因是我输入了以下内容:

    舞蹈,歌剧女主角,这就是我根据README.txt文件中的注释文本想到的剧本:

    // Search terms. Comma separated keywords you can use to select products for your store

    所以......

    1. 我是否了解这行代码应该做什么?
    2. 哪,假设我是正确的,我很确定上半部分应该如我所描述的那样工作,现在让我回到第二个问题:

      1. 为什么第二位不工作?有拼写错误吗?
      2. 要审核:

        舞蹈天后产生结果
        舞,天后没有

        两者都应该工作。

        提前感谢您的帮助。我有很多HTML经验和计算机经验,但PHP对我来说是新的。

1 个答案:

答案 0 :(得分:0)

$keywords = str_replace(" ",",",str_replace(",","",$keywords));

你可以分成

$temp = str_replace(",","",$keywords);
$keywords = str_replace(" ",",",$temp);

首先它用空字符串替换所有comas,它会删除所有coma。然后用昏迷替换所有空格。

跳舞女歌手"没有昏迷,所以首先什么都不做,然后它取代空间,结果是"舞蹈,歌剧女主角"

跳舞,歌剧女主角"它会消除昏迷,你会得到" dancediva"并且没有空间可以替换下一个,所以这是你的结果。