2010-07-31 2 views
0

나는 문자열에서이를 삭제할 :PHP 문자열에서이를 삭제하는 방법은 무엇입니까?

[QUOTE=*] * [/QUOTE] 

.* kan be anything 

는 아무도 내가 사용할 수있는 패턴을 제공시겠습니까?

+0

내가 인용 한 내용 뒤에 텍스트를 사용해야합니까? – Jay

+0

어느 부분을 사용해야합니까? 첫 번째 * 또는 두 번째? – Jhong

+0

BBCode가 정규 언어가 아니므로 정규 표현식으로 파싱 할 수 없다는 것을 알고 싶습니다. – Gumbo

답변

3
$string = preg_replace('/\[QUOTE=[^\]]*\].*\[\/QUOTE\]/', '', $string); 
+0

감사합니다! 너 멋지다! : D – Jay

+0

하! 고마워요 ... 그것에 대해 몰라요. 내 대답을 받아 들일 수 있도록 자유롭게 표시하십시오 :-) – Jhong

+0

은 따옴표 안에
이 없으면 작동합니다. 그렇다면 그것은 동일한 패턴으로 인식하지 않습니다 – Jay

2

주홍 대답은 완벽합니다. 둘 다 *의 콘텐츠를 남깁니다. 당신이 부품을 필요로하는 경우

그러나, 별도로 작은 조정을하고과 같이 캡처 그룹을 추가 할 수 있습니다 :

if (preg_match('%\[QUOTE=([^\]]*)\](.*)\[/QUOTE\]%', $subject, $matches)) 
{ 
... 
} 

을 *의는 $에있을 것입니다 일치 [1]와 $ 일치 [2] .