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에서 안전하게 사용할 수있는

23. Rewriting URLs with htaccess

– [내레이터] 퍼치는별로 생각하지 않아 귀하의 웹 서버와 우리가하지 않는 것들 중 하나 기본적으로 웹 사이트의 모든 URL을 다시 작성합니다

이것은 몇 가지 이유 때문입니다 퍼치를 기존 사이트에 추가 할 수 있음을 의미합니다 URL 구조를 변경할 필요가 없습니다 또한 mod_rewrite가없는 서버에 있다면, 퍼 치는 여전히 작동 할 것입니다 즉, 어떤 식 으로든 URL을 쉽게 다시 쓸 수 있다는 것입니다

너도 좋아할거야 이 정보는 퍼치에게 매우 중요합니다 Perch 활주로는 작동하기 때문에 URL을 다시 작성합니다 프론트 콘트롤러이므로 소유하고 있습니다 내장 된 응원 시스템

자,이 튜토리얼은 사람들을위한 것입니다 퍼치 활주로가 아니라 퍼치를 사용하고있는 사람들 그래서 우리가 할 일은 우리가 숨길 것입니다 확장 기능 때문에 방문하는 대신 historyphp 또는 무엇이든간에 방문 할 수 있습니다

끝에 php가없는 역사 따라서 서버에서 mod_rewrite를 활성화해야한다고 가정합니다 이것을하기 위해 그래서 여기서 복사하고 붙여 넣기 할거야

멋지고 긴 문자열이 있기 때문에 우리는 정확한지 확인해야한다 노트에서 모든 정보를 얻을 수 있습니다 동영상과 함께 이동합니다 그래서 여기서, 다시 쓰기 엔진을 켜고 있습니다 설명 할 수있는 두 가지 설명 만 있습니다

이 정보가 무엇이며이 행들이 취할 것입니다 끝에 php가없는 파일 이름 페이지를 찾지 못하면 php를 켭니다 그래서, 우리는 그것을 구할 수 있습니다

우리 사이트로 돌아갈 수 있습니다 작동하는지 테스트하십시오 그래서 여기에, 우리는 우리의 역사를 가지고 있습니다 php 그리고 내가 노크하면 끝에서, 우리는 여전히 페이지를로드합니다 이제 탐색을 업데이트 할 수 있습니다

끝에 php없이 링크를 출력 할 수 있습니다 그래서 우리는 About this section navigation을 가지고 있습니다 indexphp와 마스터에있는 페이지 템플릿 그래서, 그것이 어디에서 나오는 것인지를 발견하면, 거기에 그것은 옵션이며 여기에 옵션을 추가하면 hide-extensions, 그걸 사실로 설정하고, 이 내비게이션이 표시되면 끝의 확장

이제 우리는 메인 페이지의 About 페이지에서 그렇게했습니다 그래서 우리가 페이지에 관하여 주요 것에 가면, 우리의 역사를 클릭하면, 확장이 없으면로드되는 것을 볼 수 있습니다 그래서 당신은 어디서나 그 링크를해야 할 것입니다 출력 중입니다 블로그 URL을 다시 쓸 수도 있습니다

지금 우리가 우리 blog를 만들고 있었을 때, 이 쿼리 문자열을 사용하여 페이지를로드했습니다 그래서이 페이지들은 모두 쿼리 문자열로로드되고, S는 같고 그 다음엔 슬러그입니다 그래서 무엇이 좋을까요? 블로그 URL 그래서 우리는 그 지저분 해 보이는 것을 얻지 않는다 쿼리 문자열, 우리는 단지 거기에 좋은 슬러그를 얻을 그래서 우리는 htaccess 파일로 돌아갈 수 있습니다

블로그에 줄을 추가 할 수 있습니다 우리가 여기서하고있는 일은 우리가 뭔가를 찾고 있다는 것입니다 블로그와 문자 및 숫자의 모든 텍스트 우리는 그것을 설정하여 postphp로 간다 우리 블로그 게시물 페이지는 s = 그런 다음 여기에 있던 모든 것을 슬러그로 바꿀 것입니다

그래서, 페이지에 관한 한, 그것은 여전히 ​​S의 값으로 슬러그를 보낼 것입니다, 이것이 우리 코드가 기대하는 바입니다 퍼치가 우리가 블로그에 이것을했다고 알고 있기 때문에, 우리는 우리의 설정에 갈 필요가있을거야 여기 일반 설정이 있습니다 아래로 스크롤하면, 당신은 이것을 여기에서 보게됩니다 그것은 블로그 게시물 페이지 경로를 말합니다

지금은 postphp를 보여 주며 s = 포스트 슬러그, 우린 그걸 원하지 않아 우리가하고 싶은 일 그게 전부이기 때문에 그게 뭐야? 너는 그 페이지로 보낼거야 이것이 바로 우리가 클릭하게 될 것입니다 그래서 우리가 그렇게하고 변경 사항을 저장하면, 그런 다음 여기에 해당 게시물 중 하나가 있습니다

지금 URL을 보면 블로그라고 쓰여 있습니다 그리고 나서 슬러그를보고 페이지를 보면 퍼치 문서에서이 비디오를 보려면, 추가 할 수있는 규칙이 많이 있습니다 당신의 블로그를 위해 당신은 멋지고, 깔끔하게 될 수 있습니다 카테고리 링크 및 태그 링크는 물론 메인 모든 쿼리 문자열을 표시하지 않고 정리 된 모든 게시물 링크 사람들이 일을 어떻게하기를 원하는지하는 경향이 있습니다 따라서 모든 콘텐츠에 대해이 작업을 수행 할 수 있습니다

htaccess 파일에서 URL을 다시 쓸 수 있습니다 많은 작업을 수행하는 경우 많은 콘텐츠가 있습니다 그리고 당신은 재 작성의 무서운 제비 뽑기를해야한다 활주로를 볼 것을 권하고 싶습니다 활주로에 포함 된 응원 때문이야

응원을 다루는 데 아주 능숙합니다 다른 유형의 콘텐츠로 간단한 사이트가 있고 정리하기 쉽다면 URL을 입력하면 htaccess 파일이됩니다 하기 위해서