어떤 이유로 든 http 다음에 두 번째 백 슬래시가 누락 된 백래시가 삽입되는 함수를 작성하려고합니다. 고정 된 버전 만 반환하려는 경우, preg_replace를 사용하여 문자열의 특정 위치에 슬래시를 삽입하십시오.
addSlash(http:/example.net) -> http://example.net
addSlash(https:/example.net`) -> https://example.net
예를
위해 나는이 한 줄의 코드에 preg_replace이다 해결 될 수 있다고 생각하지만, 나는 그것이 동작하지 않습니다. 'HTTP'일치와\1
에 배치되지 않는 것처럼 내가 다시
/ /example.net
받고 있어요 : '/example.net HTTP'와
preg_replace("@^(https?:)(.*?)@", "\1/\2", $url);
을 = $ URL을 사용.
제안 사항? 가능한 경우 콜백 및 익명 함수를 피하고 싶습니다. 이전 버전의 PHP에서 실행해야하기 때문입니다.
당신은 PHP와 함께 테스트 한? 난 그냥 코드를 실행하고 이전과 거의 같은 결과가있어 – Zed
죄송합니다, 단지 테스트를 거친 코드가 업데이트되었습니다. – sanis