大家好我的代码有错误。 我试图使用str_replace()函数删除我不需要的字符串。但我没有得到我预期的结果。这是我的代码:
这是我的示例数据:
clip_sample_data.mp4
clip_sample_data.ogg
clip_sample_data.webm
这是我的功能:
$video_data = array(
'mp4_title' => isset($columns['mp4_title']) ? str_replace(".mp4", "", pathFileNameExploder($columns['mp4_title'])) : '',
'ogg_title' => isset($columns['ogg_title']) ? str_replace(".ogg", "", pathFileNameExploder($columns['ogg_title'])) : '',
'webM_title' => isset($columns['webM_title']) ? str_replace(".webm", "", pathFileNameExploder($columns['webM_title'])) : '',
'clip_mp4' => isset($columns['clip_mp4_title']) ? str_replace(array(".mp4", ""), array("clip_", ""), pathFileNameExploder($columns['clip_mp4_title'])) : '',
'clip_ogg' => isset($columns['clip_ogg_title']) ? str_replace(array(".ogg", ""), array("clip_", ""), pathFileNameExploder($columns['clip_ogg_title'])) : '',
'clip_webm' => isset($columns['clip_webm_title']) ? str_replace(array(".mp4", ""), array("clip_", ""), pathFileNameExploder($columns['clip_webm_title'])) : '',
);
在替换.mp4,.ogg,.webm时,我没有问题。 但是在用.mp4等替换clip_时,结果不正确。
clip_sample_data_2clip_
答案 0 :(得分:3)
您似乎误解了如何使用str_replace
替换多个字符串。第一个参数是要替换的字符串数组,第二个参数是另一个匹配字符串数组,以替换它们。
你可能打算做这样的事情。
str_replace(array(".mp4", "clip_"), array("", ""), "clip_sample_data.mp4")
将返回以下字符串。
"sample_data"
由于您只想用空字符串替换所有内容,因此可以将此代码简化为此。
str_replace(array(".mp4", "clip_"), "", "clip_sample_data.mp4")