2012-03-11 2 views
3

내 문자열에는 [hotkey] 형태의 "단축키"가 포함됩니다. 예 :폭발과 정규 표현식 사이에서 선택하는 방법

"This is a sample string [red] [h1]" 

이 문자열을 PHP 함수로 처리 할 때 함수에서 다음과 같이 원래 문자열을 출력하고 싶습니다.

<font color='red'><h1>This is a sample string</h1></font> 

일부 입력을 편리하게하기 위해이 기능을 사용하고 싶습니다. 글꼴 태그 나 div 등을 사용할 수도 있습니다. 요점은 이것입니다. 원래 문자열의 원인이됩니다 단축키 그래서 함수가 처음있는 단축키하지가 있는지 확인해야

<something here>original string<and something there> 

에 랩합니다. 그건 쉽지. [

그런 다음 문자열을 처리하여 어떤 단축키가 있는지 판별하고 배치 할 래퍼에 대한 biz 로직을 얻어야합니다.

마지막으로 단축키에서 원래 문자열을 지우고 결과를 되돌려 보내야합니다.

제 질문은이 기능을 구현할 계획 인 다음 파싱 메서드를보다 효율적으로 수행 할 수있는 정규식이 있다면 제 질문입니다. ,

1 단계 닫는 ]가 존재하는지 2 각 배열 요소를 통해 이동 [

분리 단계를 사용하여 문자열을 배열로 분해 그렇다면 그것은 정의 단축키 하나 형성하고, 필요한 것을하십시오.

분명히이 방법은 정규식을 사용하지 않습니다. 정규 표현식이 도움이 될지 궁금합니다. 아니면 더 좋은 방법으로 제안 할 수 있습니까?

+1

반드시 말해야 함 : 전체 질문을 읽지 않았습니다. 하지만 "BBCode Parser PHP"에 대해서는 google을 사용해야합니다. 달성하고자하는대로 (이미있는 것처럼) 이미 사용할 준비가 된 구현이 있습니다. – KingCrunch

+0

정규식은 갈 길이라고 생각합니다. – dotoree

답변

0

만약 []은 아마 내가 영어를 잘 구사하지 못하는 strtok

+0

당신이 그것을 언급 한 후에 strtok을 읽었지만 그것을 이해하지 못했습니다. 내가 어떻게 여기 그것을 사용할 수 있는지 모르겠다. 내 원래의 의사 알고리즘을 고수해야 겠어. –

0

을 사용할 수 있습니다, 당신이 걱정해야 할 유일한 분리 문자하지만 나는 당신의 예를 보았다

"This is a sample string [red] [h1]"

<font color='red'><h1>This is a sample string</h1></font> 

내가 너라면 :

$red = substr($chaine, strpos($chaine, '['), strpos($chaine, ']'));