하이픈은 여러 종류가 있는데, PHP를 반각 하이픈으로 통일한 견본이다
개요
WEB 서비스를 통해 폼을 받으면 데이터베이스에 하이픈을 입력하십시오.
분명히 문자 코드를 지정했는데 왜 각종 하이픈이 들어오는지 모르겠다.
어떻게 통일이 안 되지?
그래서 PHP의 샘플 코드를 만들어 보았습니다.찾아보니 하이픈의 종류가 많고 알 수 없는 하이픈이 있을지도 몰라요.
<?php
/*********
* 日本語のハイフンを半角ハイフンに統一する
* {Unicode}
* -:{002D}:半角ハイフン
* ⁻:{207B}
* ₋:{208B}
* ‐:{2010}
* ‒:{2012}
* –:{2013}
* —:{2014}
* ―:{2015}
* −:{2212}
* ─:{2500}
* ━:{2501}
* ➖:{2796}
* ー:{30FC}
* ㅡ:{3161}
* -:{FF0D}
* ー:{FF70}
*/
// sample code
$text = '|⁻|₋|‐|‒|–|—|―|−|─|━|➖|ー|ㅡ|-|ー|';
$ConvertHyphenClass = new ConvertHyphenClass();
echo $ConvertHyphenClass->convert_hyphen($text);
class ConvertHyphenClass {
private $target_regexs = '/[\x{207B}\x{208B}\x{2010}\x{2012}\x{2013}\x{2014}\x{2015}\x{2212}\x{2500}\x{2501}\x{2796}\x{30FC}\x{3161}\x{FF0D}\x{FF70}]/u';
private $result_regex = '-';
function convert_hyphen($text){
$input_text = mb_convert_encoding($text,'UTF-8','auto');
$retrun_text = preg_replace($this->target_regexs,$this->result_regex,$input_text);
return $retrun_text;
}
}
?>
대강 한 차례 설명하다
※ 사용법의 샘플도 첨부되어 있습니다.
최후
하이픈 문제는 어떻게 입력해야 할지 뿌리 깊게 느껴지지만, 나는 사전에 형식을 바꾸거나 데이터베이스에 있는 하이픈을 변환해야 한다고 생각한다.
Reference
이 문제에 관하여(하이픈은 여러 종류가 있는데, PHP를 반각 하이픈으로 통일한 견본이다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/o2z/articles/824a96455e7f6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)