2010-06-16 4 views
0

Une question intéressante à propos str_replace'"en PHP

Voici l'exemple:.

$search = array('A', 'B', 'C', 'D', 'E'); 
$replace = array('B', 'C', 'D', 'E', 'F'); 
$subject = 'A'; 
echo str_replace($search, $replace, $subject); 

si je veux remplacer' dans autre chose, par exemple -. Comment je fais ça?

Le problème est que je ne peux pas écrire quelque chose comme ça

$search = array(''"', 'B', 'C', 'D', 'E'); 
$replace = array('-', 'C', 'D', 'E', 'F'); 
$subject = 'A'; 
echo str_replace($search, $replace, $subject); 

Toute solution?

+3

La question n'est pas si intéressante. Vous avez juste besoin d'échapper à la citation unique de vous l'utilisez en guillemets simples, ou d'échapper à la guillemets si vous l'utilisez entre guillemets doubles. – Timothy

+1

C'est intéressant pour lui. – webbiedave

+0

Je suis d'accord avec le commentaire ci-dessus. Il dit même sur http://stackoverflow.com/faq: "Soyez gentil, traitez les autres avec le même respect que vous voudriez qu'ils vous traitent." Une très bonne règle, je pense, et celle que vous devriez essayer de suivre non seulement sur ce site mais dans la vie en général. De plus, nous étions tous débutants une fois. Personne ne s'attend à ce qu'un élève puisse lire le premier jour d'école. Je ne pense pas que vous devriez vous attendre à ce qu'un programmeur en herbe sache des choses avant qu'il ou elle fasse l'un ou l'autre. – matsolof

Répondre

7
$search = array('\'"', 'B', 'C', 'D', 'E'); 

chaînes apostrophées ont deux évasions, \' pour ' et \\ pour \.

+0

Oh, échapper fonctionne dans le tableau aussi? Je ne le savais pas. Merci! –

+1

@Eric Sim: Vous pouvez échapper des caractères dans n'importe quelle chaîne n'importe où dans le code PHP. – animuson