如何解决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
$venue_name_shorten = str_ireplace($omit_words,'',$venue_name);
str_ireplace 很重要,因为我需要不区分大小写。 Paris 可以用一个或多个大写字母书写。
所以,什么都没发生。
但我知道这来自于我的 $omit_words,因为如果我将 'de '.$venue_city
替换为 'de PARIS'
它工作正常。
$venue_city 是字符串类型。
任何帮助将不胜感激。
编辑
$venue_city 的定义与我的问题 $venue_city = 'PARIS';
不同,而是来自 api 数据
编辑二
我发现了!! $venue_city
之前还有一个空位解决方法
使用 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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。