2011-11-25 4 views
0

이것은 아마도 매우 일반적 일 것으로 생각되지만 이전에 대답 된 모든 질문에서 일치하는 항목을 찾지 못했습니다.대괄호로 묶은 문자열을 HTML H1 태그로 싸여진 문자열로 대체하십시오.

나는이 같은 문자열이있는 경우 :

이 [우리 이야기] 빠른 갈색 여우가 게으른 개를 뛰어 넘었다합니다. [우리 분석] 어떤 ...

나는이 작업을 수행 할 수있는 다음 방법 <h1>str</h1>와 괄호 문자열을 대체 할

? 이 SO 창에서 {} 코드 옵션을 구현하는 것과 비슷합니다.

+0

귀하의 질문에 제목에 태그를하지 마십시오. 어떤 정규식을 시도했는지 말해 줄 수 있습니까? – Bojangles

+0

내부 내용을 유지하면서 문자열의 [] 만 바꾸는 방법을 알지 못하기 때문에 정규식을 직접 시도하지 않았습니다. 나는 정규 표현식에별로 좋지 않다. 나는 이것을 사용하여이를 수행 할 수있는 방법이 있음을 알고있다. 사과는 제목에 태그를 넣으면 생각하지 않았습니다. –

답변

2

역 참조라고하는 것을 사용합니다. 이 경우 \ 1은 정규식 패턴의 괄호로 묶은 부분을 나타냅니다. 펄 스타일의

$string = preg_replace('/\[(.*)\]/', '<h1>\1</h1>', $string) 
+0

어쨌든 리터럴 (작은 따옴표로 묶인) 문자열 내부에있는 '\\ 1'을 보면서 오직 하나의'\\'만 필요합니까? – Bojangles

+0

반면에'['와']'는 아마도 인용 할 필요가있을 것입니다 ... 나는 거기에'/'도 보게되어서 놀랍지 만, PHP는 결코 일관성이 없었습니다 ... –

+0

어떤 문자라도 될지도 모릅니다. 이 목적으로 사용하기 위해서는'#','~','/'가 가장 일반적으로 사용되며, PHP와 아무런 관련이 없는지 나는 모른다. – greg0ire

1

원시 정규 표현식 대체 : s/\[(.*?)\]/<h1>\1<\/h1>/g

+0

도움을 주셔서 감사합니다! –

관련 문제