PHP, что является лучшим выбором для удаления известной строки? - PullRequest
5 голосов
/ 14 июня 2010

Я ищу для поиска и замены известной строки из другой строки.Должен ли я использовать str_replace () или preg_replace ()?Заменяемая строка будет похожа на [+qStr+], [+bqID+] или [+aID+], и ее будут искать в фрагменте кода, подобном следующему:

<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 () было бы самым простым и / или самым быстрым методом.

Ответы [ 3 ]

8 голосов
/ 14 июня 2010

Если ваша строка исправлена ​​и вам не нужны регулярные выражения, всегда используйте str_replace, так как это будет быстрее.Кроме того, обратите внимание, что вы должны забыть о ereg_replace и всегда использовать preg_replace, так как первый не рекомендуется.

2 голосов
/ 14 июня 2010

, если вы знаете строку и не нуждаетесь в регулярных выражениях, используйте str_replace (). это быстрее, потому что не нужно пытаться использовать регулярное выражение.

PS: для регулярных выражений вы должны использовать preg_replace () вместо ereg_replace (), только для будущего ...

0 голосов
/ 14 июня 2010

Ну, ereg_replace () устарела с PHP 5.3.0, поэтому я бы не советовал использовать его.

str_replace () или preg_replace () были бы логическими альтернативами.Лично я бы использовал str_replace () для простого поиска / замены;preg_replace для чего-то более сложного, чем простые совпадения

...