我正在尝试编写一个函数,它将按以下方式修改字符串:
如果字符串在一开始就有'The',我想把它剪掉并在字符串的末尾加上',''。
我的代码不起作用 - 我想知道如何修复它以便它可以正常工作。
<?php
$string = 'Wonderful World of Disney';
$search_term = 'The ';
$str_replace = ', The';
$pos = strpos($string, $search_term);
if ($pos==0 && strlen($string) > 4) {
$clean_str = substr($string, 4, strlen($string));
$clean_str = $clean_str . $str_replace;
echo $clean_str;
}
?>
答案 0 :(得分:4)
使用正则表达式可能更适合此任务:
$clean_str = preg_replace('/^The (.*)$/', '$1, The', $string);
此外,您的代码无效,因为您需要strict comparison strpos()
的{{3}}结果:
if ($pos === 0 && strlen($string) > 4) {
// ...