테스트 사이트 - 개발 중인 베타 버전입니다

여러개 preg_replace 질문 채택완료

블랑숑 4년 전 조회 2,818

$stx = preg_replace("/(1)/", "a", $stx);

 

이런게 있다고 할때

 

$stx = preg_replace("/(2)/", "b", $stx);

$stx = preg_replace("/(3)/", "c", $stx);

$stx = preg_replace("/(4)/", "d", $stx);

.

.

.

 

이런식으로 쭉 만들고 싶은데 이걸 한줄로 표현 가능할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
Policia
4년 전

for문 쓰시면됩니다

 

$count = 7;//반복할갯수

for($i=0;$i<$count;$i++){

  $stx = preg_replace("/(".$i.")/", "b", $stx);

}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

블랑숑
4년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

H
4년 전

찾는 값과 바꿀 값을 모두 배열로 넘길 수 있습니다.

성능면에서 조금 이득을 보지 않을까 짐작합니다.

 

https://www.php.net/manual/en/function.preg-replace.php">https://www.php.net/manual/en/function.preg-replace.php

 

</p>

<p><?php

$string = 'The quick brown fox jumps over the lazy dog.';

$patterns = array();

$patterns[0] = '/quick/';

$patterns[1] = '/brown/';

$patterns[2] = '/fox/';

$replacements = array();

$replacements[2] = 'bear';

$replacements[1] = 'black';

$replacements[0] = 'slow';

echo preg_replace($patterns, $replacements, $string);

?></p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

블랑숑
4년 전
감사합니다 말씀하신 방법은 배열순서와 상관없이 바꿔지나요?

값이 무작위로 와서요
H
HenryFrz
4년 전
위 예제가 매뉴얼 사이트에 있는걸 카피했는데 좀 헷갈리게 되어 있습니다.

배열 순서대로 지정됩니다.

pattern[0] - replace[0]
pattern[1] - replace[1]

이런 방식입니다.
블랑숑
4년 전
답변 너무 감사합니다.

저는 배열이 어떻게 올지 몰라서 a가 앞에 올지 c가 앞에 올지 이런 상황이라 ㅠㅠ

다른걸 좀 찾아봐야 겠어요 ㅠㅠ 너무 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인