문제

나는 이것을 읽었다 PHP 정규식 페이지, 하지만 내가 뭔가를 놓치고 있거나, 뭔가를 잘못 읽었거나, 그들이 말한 대로 작동하지 않습니다.아마 처음 둘 중 하나일 것 같아요.

$str = preg_replace("([|]\d*)", "\1;", $str);
도움이 되었습니까?

해결책

정규 표현식은 Perl 구문을 따라야 합니다. 즉, 동일한 문자로 시작하고 끝나야 합니다(일부 예외 있음).또한 역참조는 PHP의 이중 이스케이프를 방지하기 위해 이중 슬래시로 시작해야 합니다.이것은 작동합니다(빠른 테스트를 통해).

$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top