2017-01-14 1 views
0

나는 데이터베이스에 게시물을 저장해야합니다. 게시물의 제목을 게시 URL로 저장하여 특수 문자와 공백을 제거해야합니다. 나는 그것을했다. 모든 것은 정상적으로 작동하지만 문자열의 마지막에 공백을 줄 때 마침내 다음과 같이 하이픈을 표시합니다.
예 abcd_
공백이 있으면 마지막 하이픈을 제거하고 싶습니다.특수 문자 및 문자열에서 공백 제거

function clean($post_name) { 
       $post_name = str_replace(' ', '-', $post_name); 
       return preg_replace('/[^A-Za-z0-9\-]/', '', $post_name); 
      } 
      $post_url=clean($post_name); 

어떻게 이런 일이 가능 -
는 지금까지 다음과 같이 시도?
감사합니다. 여기에 귀하의 문제를 해결하기 위해 str_replace()

$post_name = str_replace(' ', '-', trim($post_name)); 
+0

내 대답 – Gayan

답변

1

이걸 봐 trim() 기능은 양쪽에서 공백 및 기타 미리 정의 된 문자를 제거 같은 시도 끈. 자세한 내용은

function clean($post_name) { 
       $name = trim($post_name); 
       $post_name = str_replace(' ', '-', $name); 
       return preg_replace('/[^A-Za-z0-9\-]/', '', $post_name); 
      } 
      $post_url=clean($post_name); 

http://php.net/manual/en/function.trim.php

+0

에 나와있는 것처럼 trim()을 시도하십시오. @ 이것이 내가 원했던 것입니다. 고맙습니다. – Deepak

+0

@Deepak이 (가) 기꺼이 도와 드리겠습니다. 답변과 최고의 행운을 맞이하십시오. –

1

시도 내 1 %

function clean($post_name) { 
    $post_name = trim($post_name); 
1

이전 trim()

0

그냥 주어진 문자열의 마지막 두 문자를 확인합니다. 정의 된대로 부분 문자열을 지정하십시오. 검사 할 if 블록에 "정의 된 문자"를 더 많이 사용할 수 있습니다.

$len = strlen($post_name) 

// check if last two characters are ' -' 
if (substr($post_name, $len -2, $len) === ' -') { 

    // assign all but the last two characters. 
    $post_name = substr($post_name, 0, $len -2); 

} 
관련 문제