2012-07-08 2 views
0

좋아, 글쎄, 문자열의 맨 끝에 strip_tags 함수를 사용하여 <br /> 태그를 없애고 싶습니다.문자열 끝의 PHP strip_tags

다음은 현재 가지고있는 내용입니다.하지만이 태그가 문자열의 모든 부분에서 제거되므로 좋지 않습니다. 이는 원하는 내용이 아닙니다. 난 단지 ... 그것은 문자열의 끝에 있다면 그들을 밖으로 제거해야 할

$string = strip_tags($string, strtr($string, array('<br />' => '&#10;'))); 

하는 방법은 문자열의 맨 마지막을 제외하고,이 같은 일을 할 수 있습니까 ??

감사합니다 !!

$string = str_lreplace("<br />", "", $string); 

당신은 또한뿐만 아니라 표준 HTML 나누기를 대체 할 수있다 :

+1

에 당신의 도움이 모든 것이 마지막 부분의 경우는'preg_replace이다()'과'$'앵커를 사용할 수 있습니다 귀하의 의견을 – mario

답변

0

당신은 code처럼이 사용할 수

$string = str_lreplace("<br />", "", $string); 
$string = str_lreplace("<br>", "", $string); 
+0

하지만 마지막 태그는 제거 될 '
'일 수도 있고 아닐 수도 있습니다. '
'태그 만 제거해야합니다. –

+0

아, 그러면 다음 코드를 사용할 수 있습니다. http://stackoverflow.com/questions/3835636/php-replace-last-occurence-of-a-string-in-a-string. 나는 나의 대답을 업데이트 할 것이다. –

+0

아니, 그 링크는 내 상황에 도움이되지 않습니다 ... 이상하지만, 전혀 작동하지 않습니다. 문자열 끝 부분에만 문자열이 끝나면 문자열 끝 부분 만 제거합니다. –

0

<br/>의 마지막 선두로부터의 인덱스를 확인하고 제거 :

$index = strrpos($string, '<br/>'); 
if($index == strlen($string)-5){ 
    $string= substr($string,0,$index); 
} 
+0

그것을 잊어 버리십시오, 당신은 요점을 놓치고 있습니다. 나는 마지막 생김을 필요로하지 않는다. 나는 마지막 5 ~ 6자를 필요로한다.어쨌든, 나는 이것을 알아 낸 것입니다. 여러분 모두가 올바른 방향으로 나를 가리켜 주셔서 감사합니다. –

+0

그럴 경우 더 쉽습니다.'$ string = substr ($ string, 0, strlen ($ string) -5);' – alfasin

+0

그러면 마지막 5자를 제거합니다 ... 내가 원하는 것은 아닙니다 ... 나는 대답했습니다 내 자신의 질문. 어쨌든 고마워. –

0

내가 사용하고 이것이 내가이 일을 원하는대로 정확히 작동 방법 ...

$search = strrpos($string, '<br />'); 
if($search !== false && $search == strlen($string) - 6) 
    $string = substr_replace($string, '', $search, 6); 

나는 코너 피트가 게시 된 링크를보고이 대답을 달성, 그래서 링크의 코드를 달성하기 위해 나를 도와 최종 결과는 여기에 있습니다.

솔직히 나는 심지어 <br /> 태그를 찾고 있지 않습니다. 나는 방금 논쟁을 위해 그걸 올렸다. 내가 직면 한 주된 문제는 내가 닫지 않은 굵은 태그 <b이 거기에 있어야하는 문자열의 끝에 튀어 나와서 문서에 쓸 때 원인이되어 페이지의 나머지 부분이 굵게 표시된다는 것입니다. 그래서, 정직이이 변경되었습니다 :

$replace = strrpos($string, '<b'); 
if($replace !== false && $replace == strlen($string) - 2) 
    $string = substr_replace($string, '', $replace, 2); 

덕분에이 문제 :)