2012-03-26 10 views
0

는 그래서알 수없는 수정 오류가

목적이 $ 제목 반환을

'sakdlfjsalfdjslfad lol is that true? lalalala' 

하지만 PHP는 반환을하는 것입니다 이에

$subject = 'sakdlfjsalfdjslfad <a href="something/8230">lol is that true?</a> lalalala'; 

$subject = preg_replace('<a href="something\/([0-9]+)">(.+?)<\/a>', '$1', $subject); 

echo $subject; 

했다

warning: preg_replace(): Unknown modifier '(' 

내가 무엇을했는지 잘못?

답변

1

패턴에 구분 기호가 필요합니다 (예 : 슬래시).

'/<a href="something\/([0-9]+)">(.+?)<\/a>/' 
1

당신은 패턴 주위에 구분 기호가 필요합니다 그래서

<a href="something\/([0-9]+)">(.+?)<\/a> 

가 있어야

$subject = preg_replace('#<a href="something/([0-9]+)">(.+?)</a>#', '$1', $subject); 
0

PCRE (펄 호환 정규 표현식) 구분 기호로 묶어야한다

/<a href="something\/([0-9]+)">(.+?)<\/a>/ 

나는 sl을 사용했다. 재 (/) -하지만 선택

PCRE 함수를 사용하여 많이있다, 패턴이 구분 기호로 둘러싸인 것을 요구된다. 구분 기호는 영숫자가 아닌 백 슬래시가 아닌 공백 문자가 될 수 있습니다.

자주 사용되는 구분 기호는 슬래시 (/), 해시 기호 (#) 및 물결표 (~)입니다. 다음은 모두 유효 범위가 지정된 패턴의 예입니다.

here are the docs for delimiters in pregex

관련 문제