2011-10-31 5 views
1

J'ai examiné les sujets passés et j'ai lu quelques questions relatives à cet argument. Ce dont j'ai besoin est juste une confirmation, j'ai beaucoup de pages qui utilise des fonctions qui sont maintenant obsolètes. Je veux changer ces fonctions mais j'ai besoin de savoir si ce type de changement est correct.Fonctions de conversion Déconseillées (ereg, ereg_replace, eregi, eregi_replace, split)

(exemple)

//Ereg 
$pattern = "[[:space:]]"; 
$replace = "_"; 
$string = "Hello to Everyone"; 
echo ereg_replace($pattern, $replace, $string); 

Pour convertir en preg_replace puis-je faire?

//Preg 
$pattern = "[[:space:]]"; 
$pattern = '/'.addcslashes($pattern, '/').'/'; 
$replace = "_"; 
$string = "Hello to Everyone"; 
echo preg_replace($pattern, $replace, $string); 

Je sais que dans cet exemple, je ne ai pas besoin d'utiliser la fonction addcslashes mais j'ai besoin parfois d'utiliser un modèle avec des barres obliques et donc je veux comprendre comment l'utiliser.

Donc, si c'est correct, '/'.addcslashes($pattern,' /').'/ '; ou si je dois changer quelque chose.

Merci beaucoup!

Répondre

0

Vous devez changer tous les motifs plus ou moins manuellement, d'après ce que je sais, aucune fonction n'existe pour vous.

Dans tous les cas, correspond à et non à pour le travail.

+0

Merci pour votre réponse. Juste une chose, vous dites que je dois les changer manuellement, et sur ce je suis d'accord, mais il est correct de les changer avec ma syntaxe motif $ pattern = '/'.$.'/'; ' C'est la forme de base, aussi si j'ai ajouté le ** addcskasges ** dans mon exemple. Je ne comprends pas pourquoi il ne convient pas à mon problème, est-il préférable de dépouiller les barres obliques manuellement? –