비 ASCII 터키 문자를 대체 할 간단한 함수를 작성했습니다.비 ASCII 문자 선택 및 바꾸기
function url_cevir($yazi) {
$yazi = trim($yazi);
$eski = array('ü','Ü','ö','Ö','ş','Ş','ç','Ç','ı','İ','ğ','Ğ',' ');
$yeni = array('%C3%BC','%C3%9C','%C3%B6','%C3%96','%C5%9F','%C5%9E','%C3%A7','%C3%87','%C4%B1','%C4%B0','%C4%9F','%C4%9E','%20');
return str_replace($eski,$yeni,$yazi);
}
정확하게 내가 그것을 호출하는 페이지에서 정의 할 때 작동합니다. 그러나 그것은 단지 외부 페이지와 함께 그것을 포함 할 때 공백을 대체합니다.
모든 코드는 여기에 외부 페이지에서 이러한
을 오염하는 다른 코드가 없습니다 : 내가 echo ('ısı geçişi');
를 사용하는 경우 내가 echo url_cevir('ısı geçişi');
와 함께 사용이 ısı%20geçişi
를 인쇄되면
<?php
include('functions/array_and_string_fns.php');
echo url_cevir('ısı geçişi');
?>
그것이 ısı geçişi
를 인쇄는 우리는 예상대로.
그래서 나는 문제가 함수 url_cevir에서오고 있다고 생각한다. 그리고 나는 아주 간단한 것을 놓치고 있다고 생각한다. 그것이 매우 흥미로운 문제인 기타 이유.
나는이 문제를 이해하지 못한다. 함수가 공백을'% 20'으로 인코딩하지 않도록하려면 함수의 배열에서 해당 부분을 제거하십시오. –
모든 $ eski = 문자를 $ yeni = 문자로 대체해야합니다. 하지만이 함수를 포함 할 때만 공백을 대체합니다. – Tahtakafa