删除PHP中的引用

时间:2017-05-22 09:40:59

标签: php

在我的Excel文件中,我有一个参数,其中包含文章的描述(类型字符串)。 在解析文件中,它不读取包含quote '的描述的字段;它跳过它们,就像这个描述的例子一样:

CABO VERDE 'TACV'

我通过添加测试更改了getter方法,但它不起作用:

public function getName() {
  if($this->_name= str_replace(''','\'', $this->_name)){       
    return $this->_name;
  }
}

如何更改方法以读取描述字段的所有数据?

2 个答案:

答案 0 :(得分:3)

1)比较运算符为==,而不是=

2)语法错误;要么逃避内部引号,要么使用双引号

应该是

if($this->_name==str_replace("'",'', $this->_name) 

此代码试图找出是否存在'在字符串中,有很多方法可以做到这一点。我会用

if(strstr($this->_name,"'")===FALSE)
// ' is not present in name

但你的方法也没错。

答案 1 :(得分:1)

使用您当前的str_replace方法:

if($this->_name == str_replace("'", "", $this->_name)
{
   return $this->_name;
}

虽然很难看到,但第一个参数是双引号,后跟单引号后跟双引号。第二个参数是两个双引号,两者之间没有任何内容。

使用str_replace,你甚至可以拥有一个你想要完全删除的字符串数组:

$remove[] = "'";
$remove[] = '"';
$remove[] = "-"; // just as another example

$FileName = str_replace( $remove, "", $this->_name);