2011-07-14 5 views
-1

Possible en double:
Converting ereg expressions to pregeregi_replace() à preg_replace() aider

J'ai essayé ce un certain nombre de façons différentes et je l'ai même téléchargé la feuille de référence Expression régulière de addedbytes.com, mais je ne peux pas comprendre comment déplacer cette instruction eregi_replace() dans une instruction preg_replace().

J'ai lu et compris les conditions de délimitation de preg_replace(), mais je pense que le problème est dû aux modificateurs. Comment savoir quel modificateur utiliser pour cette fonction? J'ai essayé \ A, \ b, et \ e, mais aucun ne semble fonctionner. Je pense qu'il y a quelque chose qui me manque tout simplement.

$bodytag = '%%BODY%%'; 
$header = eregi_replace($bodytag . '.*', '', $temp); 
$footer = eregi_replace('.*' . $bodytag, '', $temp); 

J'ai essayé ce qui suit:

$header = preg_replace('/%%BODY%%.*/i', '', $temp); 
$footer = preg_replace('/.*%%BODY%%/i', '', $temp); 

Mais il ne semble pas fonctionner. Qu'est-ce que je rate?

EDIT

Plus récemment, j'ai essayé cela sans solution.

$bodytag = "%%BODY%%"; 
$header = preg_replace("/".$bodytag."(.*)/i", '', $temp); 
$footer = preg_replace("/(.*)".$bodytag."/i", '', $temp); 

Répondre

1

SOLVED:

Cela est avéré être la solution:

$header = preg_replace("/".$bodytag."(.*)/is", '', $temp); 
$footer = preg_replace("/(.*)".$bodytag."/is", '', $temp); 

obtenu de l'aide et la réponse du forum d'un autre site. Il me manquait le modificateur "s" et je ne savais pas non plus que les modificateurs pouvaient être empilés.

0

tête $ = preg_replace ('/ BODY (*)/i.', '', $ Temp); $ footer = preg_replace ('/(.*) BODY/i', '', $ temp);

+0

Je suis désolé, mais cela ne fonctionne pas de la même façon qu'eregi_replace() exécute le processus. De plus, j'ai besoin que les symboles "%%" soient là car il remplace la chaîne %% BODY %% dans le modèle de thème par le contenu réel du corps de la page. En outre, à quoi servent les parenthèses (pourquoi en ai-je besoin)? Je ne demande pas à quelqu'un de me donner la réponse, juste expliquer ce que je fais mal. Je suis fatigué des messages dépréciés dans mes journaux. Merci! – Hummdis