2010-06-14 3 views
5

다른 문자열 내에서 알려진 문자열을 검색하고 바꾼다. str_replace() 또는 preg_replace()를 사용해야합니까? 문자열은 [+qStr+] 비슷한, [+bqID+], 또는 [+aID+] 것 교체 할 그것은 다음과 유사한 코드 청크에서 검색되는 것 :PHP, 알려진 문자열을 제거하기위한 더 나은 선택은 무엇입니까?

<li> [+qStr+] 
    <ol class="mcAlpha"> 
     <li><input type="radio" name="[+bqID+]" id="[+bqID+]_[+aID+]" value="[+aID+]" /><label for="[+bqID+]_[+aID+]">[+aStr+]</label></li> 
    </ol> 
</li> 

내가 MySQL의에서 결과 문자열을 대체 할 것 쿼리를 실행하고 한 번에 최대 200 번까지이 작업을 수행 할 수 있습니다. 어떤 함수 str_replace() 또는 preg_replace()가 가장 쉽고 빠른 메소드일까요?

답변

8

문자열이 고정되어 있고 정규 표현식이 필요하지 않은 경우 str_replace는 항상 빠르기 때문에 항상 사용하십시오. 또한 ereg_replace를 잊어 버리고 preg_replace는 항상 사용되지 않으므로 항상 사용하십시오.

2

문자열을 알고 있고 정규식이 필요하지 않으면 str_replace()를 사용하십시오. 그것은 당신이 정규식을 사용하는 경우 시도 할 필요가 없기 때문에 더 빠릅니다.

PS : 단지 미래에 대한 대신 ereg_replace (의 preg_replace이다()를 사용한다 정규식)에 대한 ...

+0

나는 ereg_replace()가 가치 하락했다는 것을 보았다. –

0

음 ereg_replace()는 PHP 5.3.0부터 사용되지 않는, 그래서 같으면된다 ' 그것을 사용하는 것이 좋습니다.

str_replace() 또는 preg_replace()가 논리적 대안입니다. 개인적으로 간단한 검색/바꾸기 위해 str_replace()를 사용합니다. preg_replace (단순한 일치보다 복잡한 것)