str_ireplace不按预期工作


$venue_city = 'PARIS';
$venue_name = 'Le Palais des Congrès de Paris';

我创建了一个省略单词的数组

$omit_words = array('d''.ltrim($venue_city),'de '.$venue_city);  

print $omit_words;得到Array ( [0] => d'PARIS [1] => de PARIS )

现在我想将$venue_name中的de Paris替换为none

$venue_name_shorten = str_ireplace($omit_words,'',$venue_name);

str_ireplace很重要,因为我需要不敏感的大小写。Paris可以写成一个或多个大写。

所以,什么也没发生。

但我知道这来自我的$omit_words,因为如果我用'de PARIS'代替'de '.$venue_city,它工作得很好。

$venue_city是字符串类型。

任何帮助都将是感激的。

编辑

$venue_city不是像我的问题$venue_city = 'PARIS';那样定义的,而是来自api数据

编辑二

我找到了!!$venue_city

前面有空格

使用trim()从API数据中删除所有的前后空格和换行符。

$fromApi = " PARISn";  //example
$venue_city = trim($fromApi);
$venue_name = 'Le Palais des Congrès de Paris';
$omit_words = array('d''.$venue_city,'de '.$venue_city);  
$venue_name_shorten = str_ireplace($omit_words,'',$venue_name);

相关内容

  • 没有找到相关文章

最新更新