2013-07-26 4 views
0

문자열에서 일부 청크를 제거하려고합니다. 이것은 기본적으로 html 코드입니다. 덩어리로 구분됩니다 # 저는 regexp와 함께 0이지만 다른 SO 주제 (Replace everything between and including two characters using regex in php)에서이 방법을 발견했지만 작동하지 않으며 그 이유를 알 수 없습니다. 내 덩어리는 HTML 코드 내 자리는 다음과 같습니다PHP는 문자열에서 구분 된 자리 표시자를 제거합니다.

이러한 기능 (그들 중 누구도 성공하지 않음)와 #의 텍스트 2 번호

및 I'tried :

$text = preg_replace('/\[[#]]*]/', '', $text); 
$text = preg_replace("/\\#\\\(\d).*?\\#/", "", $text); 
$text = preg_replace('~\#(\d+)\#~' , "", $text); 

아무도 나에게 제안 할 수 그것을하는 방법? 도움이된다면 감사하겠습니다. 들으

+0

는 예상 출력 무엇입니까? – HamZa

+0

출력은 구분 기호 '#'를 포함한 자리 표시 자없이 전체 문자열 (예 : html 코드)이어야합니다. – MarcoSpada

+0

실제 입력 및 예상 출력으로 질문을 편집하십시오. 정규 표현식의 약간의 변경으로 인해 작동하지 않을 수 있습니다. – HamZa

답변

1
echo preg_replace('/#\w+#/', '', $text); 
+1

'\ w' =='[a-zA-Z0-9_]'그래서 그 밑줄을 제거 할 수 있습니다 – HamZa

+1

@HamZa - 고마워! –

1
$text = "#in1#out1#in2#out2#in3###out3"; 
$text = preg_replace('/#[^#]*#/', '', $text); 
echo $text, PHP_EOL; 

그것은 단지 밖으로 부품을 반향한다은 즉 : out1out2out3

관련 문제