PHP SEO Slug URL Generator

이 비디오에서 우리는 슬러그 생성기를 생성 할 것입니다 또는 "SEO URL friendly"생성기는 기본적으로 이런 식으로 문자열을 가져 와서 변환해라

이런 식으로, 우리는 PHP와 이것은 기본적으로 우리가 우리가 무엇을 신속하고 효율적으로 제거 할 수있게 해줄 것입니다 필요 없다 우리가 그것을 보일 필요가있는 것을 추가하십시오 계속해서 곧장 뛰어 들어 갑시다 코드가 어떻게 보이는지 자, 이제 텍스트 편집기로 넘어가겠습니다

우리가 필요로하는 PHP를 작성하기 시작하십시오 이 기능을 구축하십시오 내가 너와 함께 시작하는 걸 볼 수있어 여기에 doctype이 있는데이 이유는 내가 가지고있는 것입니다 내 페이지의 charset

이제 우리가해야 할 일은 우리도 될 것입니다 이런 문자들을 포함해서 지금 SEO URL 생성 및 전형적으로 이것은 작동하지 않을 것입니다 그래서 우리는 갈 필요가있다 앞으로 우리가 정규 표현식을 만들 때 유니 코드를 지원할 때 그래서 이것이 제가 만든 doctype입니다 우리는 앞으로 나아가고 여기에서 기능을 창조 할 것입니다 여기에서 기능을 호출 해 우리는 페이지에서 charset을 구체적으로 정의하기 때문에 문자 그대로 볼 수 있습니다 이제 살펴보고 살펴 보겠습니다

당신이 선언하지 않으면 어떻게 될지 비디오의 끝을 향해 브라우저에서 볼 수있는 문자 세트 및 문제 그렇지 않으면 그래서 우리가 정말로 여기에서하고 싶은 첫 번째 일은 바로 여기에 있습니다 계속해서 함수를 선언하면 외부에서이 함수를 실행할 수 있습니다 함수 파일 또는 클래스의 일부로 더 좋을 수도 있습니다 문자열 처리 클래스로 응용 프로그램을 작성하지만 여기서는 함수를 작성하겠습니다

단순함을 위해서 문자열을 다음과 같이 전달할 수 있습니다 그리고 밖으로 문자열을 얻을 이 함수를 'createSlug'라고 부르겠습니다 우리는 앞으로 나아갈 필요가있다 여기에 인수를 정의하고 '슬러그'라고 부릅니다

우리가 여기서해야 할 일이 몇 가지 있습니다 그래서 우리는 몇 가지 코멘트를 추가 할 것입니다 우린 알아 우리가해야 할 일 우리가해야 할 첫 번째 일 기본적으로 제거되지 않은 항목 글자, 숫자, 공백 또는 하이픈 원래 문자열에서 편지를 제거하고, 미안하다 그렇지 않은 것

그래서 우리는 필요하다 글자가 제거 된 것 외에 아무것도 삭제되지 않았습니다 공백을 제외하고는 아무것도 없지만 하이픈은 제거되었습니다 우리가 이것을하는 이유는 우리가 제거하기를 원하기 때문입니다 ~ 고 싶어요 나중에 공간 같은 것을 제거하고 복제하십시오

하이픈 그래서 우리는 두 개의 정규 표현식을 할 것이다 그리고 두 번째 것은 모든 것을 정리할뿐입니다 그럼 우리는 가고 싶다 앞뒤로 공백 제거 우리가 계속해서 포함하고 싶지 않기 때문에 하이픈을 중복하십시오 문장 내에서 2 ~ 3 개의 하이픈 hypens가 포함되었습니다

우리가하고 싶은 것은 왼쪽 및 오른쪽, 남은 하이픈 제거 예를 들어, 다음과 같은 문자열이있는 경우 그냥 여기에 적어주세요 이 같은 문자열 이것은 받아 들일 수 없으므로 앞뒤로 자르고 싶을뿐입니다 그래서 우리는 여기서 'test'라고 말하고 왼쪽과 오른쪽 hypens을 다듬어 가려고합니다 그래서 우리가 그곳에서하고 싶은 것이고 그것은 꽤 많이 있습니다 반환 문자열

계속해서 집중하겠습니다 여기에 의견을 남기고 모든 코드를 작성하겠습니다 여기 내려와 이제 우리가하고 싶은 첫 번째 일은 슬러그 변수를 재정의하는 것입니다 기본적으로 여기에있는 첫 번째 줄이 될 것입니다

" 문자, 숫자, 공백 또는 하이픈이 아닙니다 "그래서 PHP에서는 preg_replace 또는 "Perl 정규 표현식"대체 우리는 여기에 정규 표현식을 전달합니다 우리는 우리가 이것을 대체하고 싶은 경우를 선택한다 우리는 빈 스트링으로 대체하기 만하면된다 그럼 우리가 원하는 문자열을 전달하고 싶습니다

이것을에 적용해라 그리고 그것은 명백하게 슬러그입니다 이제 잠시 후에 우리는 앞으로 나아갈 것입니다 여기에서 함수를 적용하여 소문자 값을 설정합니다 이의

먼저 일반 표현식에 집중하겠습니다 아마도 가장 어려운 부분 일 것입니다 이제 정규 표현식을 사용하겠습니다 이름, 설명적인 이름 나는이 편지를 전화 할거야 NumberSpacesHypens 이것은 기본적으로 모든 것을 제거하려고합니다

그것은 문자, 숫자, 공백 또는 하이픈이 아닙니다 계속해서 시작하겠습니다 우리의 정규 표현식으로 끝납니다 나는 슬래시를 선택했다 그리고 여기에 유니 코드 지원을 추가 할 것입니다

수정 자라고 불리는 우리가 유니 코드 문자를 지원해야하는 이유는 특수 문자를 사용하기 때문입니다 문자들 악센트가있는 사람 그래서 여기서 우리는 무엇을하기를 원합니까? 그럼 우리는 여기에 무언가를 묶고 싶다 이것은 일치를 의미한다 우리가 여기에 넣은 것은 무엇이든 일치하는 것입니다

하지만 우리는이 모든 것을 일치시키고 싶습니다 그래서 우리는 여기에 가서 이것을 사용합니다 이제 우리가해야 할 일은 캐릭터를 제공하는 것입니다 또는 우리가 원하는 것의 표현 유지 이 경우에는 하이픈이므로 여기에 하이픈을 추가 할 수 없습니다

해줘야 해 백 슬래시 하이픈 그걸로 도망 갈 수 있어요 우리가 말 그대로 사용하고자하는 것, 어떤 종류의 규칙이나 패턴 그래서 우리는 또한 공백을 제거하기를 원합니다

미안 해요, 공백 이외는 그냥 다시 s입니다 이는 수정 자의 모양과 같습니다

그런 다음 pN을 사용하고 싶습니다 왜냐하면 우리는 유니 코드 지원을 사용하고 있기 때문입니다 그래서 pN은 기본적으로 숫자와 PL을 나타낸다 당신은 아마도 문자를 나타낼 것이라고 짐작했습니다 여기에 + 수정자를 추가하려고합니다

우리가 원하기 때문에 전체 끈에 걸쳐 이것을 연습해라 이제 우리가 한 일은 계속해서 이걸 시험해 봐 나는이 정규식을 복사하여 붙여 넣을거야 여기 아래로, 우리가 아무것도 대체하지 않는다는 걸 기억해 그냥이 함수를 호출하고 현재 어디에 있는지 살펴 보겠습니다

그래서 나는 앞으로 나가서 createSlug를 울릴 것이다 계속해서 문자열을 입력하십시오 그래서 "This 기사 제목은 " 이제는 그렇게 할 것입니다 가자 새로 고침하고, 우리는 아무것도 돌려주지 않았다

가자 슬러그를 돌려 보자 그래서 우리는 함수에서 그것을 반환했고 우리는 여기서 함수의 결과를 반향하고 절대적으로 아무것도하지 않습니다 그 순간에 아무 것도하지 않는 이유는 우리가 어떤 hypens도 추가하지 않기 때문입니다 어딘가에 우리는 이것을 소문자로 설정하지 않으며 소문자로 지정해야합니다

끈 그래서 우리가 지금하고 싶은 것은 몇 가지를 추가함으로써 이것을 시험해 보는 것입니다 하이픈, 여기에 몇 가지 여분의 공백 그리고 어쩌면 재미있는 캐릭터를 추가 할 것입니다 이제이 결과를 살펴 보겠습니다 완벽 해 여기에 특수 문자를 제거했습니다

방금 입력 한 모든 쓰레기이 중복 된 하이픈이 있습니다 문제는 아니지만 문제는 해결할 수 있습니다 후에 가자

그렇게 해보자 지금 우리는 많은 공간을 제거하려고합니다 이것은 기본적으로 우리가 이미 언급 한 것처럼 문자열 안에 많은 공간을 찾는 것을 의미합니다 그래서 이것은 공간이 많아서 이것이 제거 된 이유입니다 그래서 그걸 아무것도 대체하지 못했지만 이제 우리는 앞으로 나아가고 싶습니다

말하기 슬러그 preg_replace 다시 perl 정규 표현식이 다시 바뀌고 우리는 계속해서 정규 표현식을 추가하고 싶다 표현 이번에는 많은 것들을 하이픈으로 대체하려고합니다 그리고 그것은 슬러그에 다시 적용됩니다 그럼 우리가해야 할 일을 살펴 봅시다 여기 우리가 대체해야 해

어떤 양의 하이픈 우리는 중복 된 hypens을 원하지 않기 때문에 하나의 하이픈 우리는 또한 갖고 싶어한다 하이픈으로 대체 된 공간의 양 그러니 이제 시작하겠습니다 따라서 정규 표현식이 진행 중입니다 이렇게 보이게 우리는 계속해서 spacesAndDuplicateHypens와 같은 이름을 부여 할 것입니다 알았어 그래서 정규식은 분명히 이렇게 두 글자로 시작합니다

나는 앞으로 슬래시를 선택했습니다 그래서 이것들 중 어떤 것도 다시 말할거야 -와 s 우리는 이들 중 임의의 수와 일치시키기를 원하므로이 경우 하이픈의 수는 얼마입니까? 교체 할 수 있도록 이들 및 여러 개의 공백을 제거하십시오 모든 공백은 하이픈으로 단일 하이픈으로 된 모든 하이픈 그게 우리가 원하는 복제품을 제거하기 원하기 때문에 우리가 대체하면 거기에 가자

지금 당장 나가자 그래서 우리는 중간에 있지만 유일한 문제는 끝 부분에 하이픈이 있다는 것입니다 trim 함수로 제거 할 문자열의 값 우리는 또한 소문자로 변환해야합니다 내가 원하는 대문자를 쓰면 남을 것이다 그렇다면 우리가하는 일은 여기서이 시점에서 변경합니다 그래서 저는 mb_strtolower를 사용할 것입니다

기능 이것이 내가 할 수있게 해주는 것은 특별한 charset을 제공하는 것이다 들어 오기 시작하다 여기에 몇 가지 특수 문자를 입력하면 어떻게 작동하는지 살펴 보겠습니다 여기에서 일어난 일은 정규 표현식이 조용히 있습니다 내가 그걸 지우면 여기서 모든 것이 잘 보입니다

우리가 가서 strtolower와 같은 것을 사용할 때 이 잘 작동합니다 하지만 우리는 권장하지 않는 strtolower를 사용하고 싶지 않습니다 우리가 이것을 사용한다고 특히 우리가 다른 캐릭터를 다룰 때 mb_strtolower를 실행 한 다음 문자 인코딩을 정의하십시오 이 경우에는 utf8이고 이제는 작동 할 것입니다 공장

나는 상쾌하고 우리는 같은 결과를 얻는다 모든 것이 이제 소문자이고 정확한 문자열 길이를 위해 음식을 제공했습니다 정확한 문자 인코딩 이제 우리가하고 싶은 일 마침내 그냥 가다가 잘라 내야 해 하이픈

PHP trim 함수에 대해 잘 알고있을 것입니다 그러나 당신이 알지 못할 수도있는 것은 당신이 실제로 원하는 것을 정의 할 수 있다는 것입니다 왼쪽과 오른쪽에서 손질 그저 공간 일 뿐이라면 당신은 이것을 다음과 같이 정의 할 수 있습니다 하지만 하이픈을 선택하면 왼쪽에서 하이픈을 제거하고 권리 이 경우 오른쪽에 하나가있어서 새로 고침하면 사라집니다 그래서 우리는 꽤 복잡한 정규 표현식을 사용하여 작업을 수행했습니다

그다지 어려운 일이 아닙니다 정규식을 처음 사용하는 경우 이것들은 꽤 복잡해 보일 수 있습니다 우리는 이처럼 문자열을 가져 왔습니다 이런 끔찍한 찾고 문자열과 우리가 뭔가 변환했습니다 URL에서 안전하게 사용할 수있는