2013-12-19 8 views
-1

BBCODE를 HTML 태그로 구문 분석하는 시스템이 있습니다. 하지만 문제가 있습니다. 색상을 삽입하면 사용자는 다른 스타일을 추가 할 수 있습니다. 예 :BBCODE 구멍, 악성 스타일 삽입

[color=green;font-size:100px]green text[/color] 

이렇게하면 사용자가 큰 단어를 채팅에 삽입 할 수 있지만 좋지 않습니다. 내 구문 분석 시스템 ->source

어떤 솔루션입니까? 사용자가 뒤에 입력 당신이 무엇을 여전히

'/\[color=([^;]*?)\](.*?)\[\/color\]/is', 

그것이 ; 포함 컬러 태그에 일치하지 않습니다이 방법을 선

'/\[color=(.*?)\](.*?)\[\/color\]/is', 

을 대체 할 수 있지만, 빠른 수정을 위해

답변

0

=<span> 태그에 있습니다.

(더 많은 작업을 필요로 할 수있다) 또 다른 옵션은 특정 색상을 허용하는 것입니다 :이 16 진수 색상 (같은 #000000)과 녹색, 파란색, 빨간색과 검은 색 ... 당신이있어 수

'/\[color=(#\d{6}|green|blue|red|black)\](.*?)\[\/color\]/is', 

다른 색상을 자유롭게 추가 할 수 있습니다.

+0

해결되었습니다. 고맙습니다. – Edoardo