2010-06-14 59 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:你應該使用的preg_replace()而不是ereg_replace(正則表達式),只是爲了未來......

+0

我剛剛看到ereg_replace()已折舊。 – 2010-06-14 14:54:33

0

好ereg_replace()已過時的PHP 5.3.0,所以我不會」建議使用它。

str_replace()或preg_replace()將是邏輯替代方案。 個人而言,我會使用str_replace()進行簡單的搜索/替換; preg_replace用於任何比簡單匹配更復雜的事情

相關問題