한글 문자열 삭제, 변경하기 mb_str_replace
한글 문자열 삭제, 변경하기
str_replace 함수가 있는데 이런것을 사용해야 되는 이유는 글자와 글자 사이에 걸리는 경우 한글이 깨지는 경우가 발생 할 수 있습니다.
함수는 아래사이트에서 가져와서 테스트 한것입니다.
2개 함수 모두 잘 작동 되었습니다.
그리고 function_exists('mb_str_replace') 이 부분은 사용하게 되면 장단점이 있는데 장점이야 이중으로 사용자 함수가 있을리 없으니 오류가 발생 하지 않지만 호이스팅이 되지 않습니다. 즉, 읽혀야 인식이 되기 때문에 어느 위치에 있느냐에 따라서 사용 가능여부가 갈리게 됩니다. 공통함수 파일에 넣고 최상단에서 인쿠르드 하면 문제 되진 않습니다.
● 참고사이트
https://hotexamples.com/examples/-/-/mb_str_replace/php-mb_str_replace-function-examples.html
// simulate the missing PHP mb_str_replace function
function mb_str_replace($needles, $replacements, $haystack)
{
$rep = (array) $replacements;
foreach ((array) $needles as $key => $needle) {
$replacement = $rep[$key];
$needle_len = mb_strlen($needle);
$replacement_len = mb_strlen($replacement);
$pos = mb_strpos($haystack, $needle, 0);
while ($pos !== false) {
$haystack = mb_substr($haystack, 0, $pos) . $replacement . mb_substr($haystack, $pos + $needle_len);
$pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
}
}
return $haystack;
}
if (!function_exists('mb_str_replace')) {
function mb_str_replace($needle, $replacement, $haystack) {
return implode($replacement, mb_split($needle, $haystack));
}
}