str_ireplace 未按预期工作
str_ireplace doesn’t works as expected
$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
$venue_name_shorten = str_ireplace($omit_words,'',$venue_name);
str_ireplace 很重要,因为我需要不区分大小写。巴黎可以用一个或多个大写来写。
所以,什么都没发生。
但我知道它来自我的 $omit_words,因为如果我将 'de '.$venue_city
替换为 'de PARIS'
它工作正常。
$venue_city是字符串类型。
任何帮助将不胜感激。
编辑
$venue_city 没有像我的问题 $venue_city = 'PARIS';
那样定义,而是来自 api 数据
编辑二
我找到了!!在 $venue_city
之前还剩一个 space
使用 trim() 从 API 数据中删除所有前导空格和尾随空格以及换行符。
$fromApi = " PARIS\n"; //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);
$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
$venue_name_shorten = str_ireplace($omit_words,'',$venue_name);
str_ireplace 很重要,因为我需要不区分大小写。巴黎可以用一个或多个大写来写。
所以,什么都没发生。
但我知道它来自我的 $omit_words,因为如果我将 'de '.$venue_city
替换为 'de PARIS'
它工作正常。
$venue_city是字符串类型。
任何帮助将不胜感激。
编辑
$venue_city 没有像我的问题 $venue_city = 'PARIS';
那样定义,而是来自 api 数据
编辑二
我找到了!!在 $venue_city
之前还剩一个 space使用 trim() 从 API 数据中删除所有前导空格和尾随空格以及换行符。
$fromApi = " PARIS\n"; //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);