태그 보관물: PHP 함수

워드프레스에서 문자열에 어귀마다 하이픈을 추가하기

위 워드프레스 API 함수를 쓰면 문자열에서 어귀마다 하이픈을 추가해서 리턴해줍니다.

처럼 실행하면

임의의-문자열을-인자로-넘겨주세요

로 변환된 문자열을 화면에 표시합니다.

위의 예제에서는 echo 함수에 sanitize_title_with_dashes() 함수의 리턴값을 넘겼는데요. echo 함수로 표시하는 기능 외에도 다른 용도로도 응용하면 다른 기능을 구현하는 용도로도 쓸 수 있습니다. 예를 들면 글 제목을 슬러그 형태로 변환하는 기능이 그 예입니다. 워드프레스 슬러그는 문자열을 어귀로 분리해서 하이픈이 사이사이에 들어가야 하므로 위의 함수로 문자열을 조정하면 슬러그 변환이 되게 됩니다.

여기에 더해서 PHP 함수로 rawurlencode() 와 rawurldecode() 를 적절히 써서 위에서 얻어진 문자열을 처리하면 URL 인코딩/디코딩 된 문자열이 얻어집니다. 플러그인 제작을 할때 필요할 수 있네요.

https://www.php.net/manual/en/function.rawurlencode.php
https://www.php.net/manual/en/function.rawurldecode

위와 같이 하면 $encoded 에는 %EC%9E%84%EC%9D%98%EC%9D%98-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%EC%9D%B8%EC%9E%90%EB%A1%9C-%EB%84%98%EA%B2%A8%EC%A3%BC%EC%84%B8%EC%9A%94 가 들어가게 되구요.
$decoded에는 임의의-문자열을-인자로-넘겨주세요 와 같은 디코딩된 문자열이 들어갑니다.

결론:
https://developer.wordpress.org/reference/functions/sanitize_title_with_dashes/
https://www.php.net/manual/en/function.rawurlencode.php
https://www.php.net/manual/en/function.rawurldecode

이들 함수를 잘 활용하면 슬러그 처리시 유익하게 쓸 수 있습니다.