Domanda

Sto cercando di cercare e sostituire una stringa nota all'interno di un'altra stringa. Dovrei usare str_replace () o preg_replace ()? La stringa da sostituire sarebbe qualcosa di simile a [+qStr+], [+bqID+], o [+aID+] e sarebbe da ricercare in un pezzo di codice simile a questo:

<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>

I sarebbe Sostituzione delle corde con i risultati di una query MySQL, e si esibirà questa azione o fino a 200 volte simile alla volta. Quale funzione str_replace () o preg_replace () sarebbe il metodo più semplice e / o più veloce per prendere.

È stato utile?

Soluzione

Se la stringa è fisso, e non hai bisogno di espressioni regolari, usare sempre str_replace, in quanto sarà più veloce. Nota inoltre che si dovrebbe dimenticare ereg_replace, e utilizzare sempre preg_replace, come il primo è stato deprecato.

Altri suggerimenti

se si conosce la stringa e non è necessario l'uso di espressioni regolari, str_replace (). è più veloce perché non ha bisogno di provare se si utilizza una regex.

PS: per regex si dovrebbe usare preg_replace () invece di ereg_replace (), solo per il futuro ...

Bene ereg_replace () è deprecato a partire dal PHP 5.3.0, quindi non vi consiglio di utilizzarlo.

str_replace () o preg_replace () sarebbero le alternative logiche. Personalmente mi piacerebbe usare str_replace () per una semplice ricerca / sostituzione; preg_replace per qualcosa di più complesso di partite semplici

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top