나는이 유형의 질문을 알고 있으며 이전에 답변을 받았지만 내 패턴 매치에서 오류를 찾아 낼 수 없다.두 개의 바늘 사이에서 PHP preg_replace
일부 매우 screwy 레거시 db 입력으로 인해 나는 두 개의 HTML 특수 문자 사이에 아무것도 제거하려고하고 다음에 남아있는 프로세스로 이동합니다. 원래의 코드는 1 일 이후에 굵은 아무것도 1<b>2
갔다하지만 1<>2
또는 1 2
내가에게 근처에도 오전 중 하나에 남아있을 1<b>2
내가 좋아하는 것처럼 결국있다?
들으 예술
$str = '1<b>2';
$output = preg_replace('/&#?[a-z0-9]{2,8};(.*?)\/&#?[a-z0-9]{2,8};/is', '',$str);
왜 preg_replace ('/ < [^ &]+> /', '', $ str); ? – SpacedMonkey
@SpacedMonkey html 특수 chrs는 아무 것도 될 수 없으므로 위의 예는 그 예입니다. 당신의 작업 예제를 바탕으로 나는 '/ & #? [a-z0-9] {2,8}; [^ &] +/& #? [a-z0-9] {2,8};/<을 와일드 카드로 바꾸지 만 이는 일치 프로세스를 실패합니다. –
죄송합니다. 어떤 단체인지 알지 못했습니다. 왜 중간에 슬래시 BTW? – SpacedMonkey