문제

몇 단어의 대문자를 가져와서 스팬 태그로 감싸려고 합니다.나는 사용하고있다 preg_replace 추출 및 래핑 목적으로 사용되지만 아무것도 출력하지 않습니다.

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
도움이 되었습니까?

해결책

패턴을 괄호 안에 넣어야합니다 /([A-Z])/, 이와 같이:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)

다른 팁

\0 또한 괄호를 사용하여 명시적으로 캡처하지 않고도 일치하는 전체 표현식과 일치합니다.

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)

늘 그렇듯이 다음으로 갈 수 있습니다. php.net/preg_replace 또는 php.net/<어떤 검색어든>에서 문서를 빠르게 검색할 수 있습니다.문서를 인용하십시오.

\0 또는 $0은 전체 패턴과 일치하는 텍스트를 나타냅니다.

로부터 preg_replace 문서 php.net에서:

대사 양식 n 또는 (php 4.0.4 이후) $ n의 참조를 포함 할 수 있으며, 후자의 형태는 선호하는 것입니다.그러한 모든 참조는 N '괄호 화 된 패턴으로 캡처 한 텍스트로 대체됩니다.

Flubba의 예를 참조하세요.

원하는 캡처 주위에 괄호를 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top