2010-07-16 5 views
1

Possible en double:
php regular expression help?foreach dans l'expression régulière?

salut, je veux remplacer

i like apple 
apple is good 
orange is also nice 
my mom likes banana 
apple 123 4 
the pear is soo sweat 
my dad loves pear 

à

i like apple 
apple is good 
orange is also nice 
my mom likes banana 
apple 1 
apple 2 
apple 3 
apple 4 
the pear is soo sweat 
my dad loves pear 

par preg_replace?

+0

La ligne que vous êtes à la recherche après est 'la pomme [\ d \ s] +'? –

+0

Pouvez-vous préciser le motif que vous cherchez? Peut-il être plus de 1234? L'espace est-il correct? Est-ce qu'il commence toujours par un 1? –

+1

dupliquer comme http://stackoverflow.com/questions/3263825/php-regular-expression-help – Toto

Répondre

1
<? 
function replace($matches) 
{ 
     return preg_replace("/\s*(\d)\s*/", "$matches[1] $1\n", $matches[2]); 
} 
$s = "i like apple 
apple is good 
orange is also nice 
my mom likes banana 
apple 123 4 
the pear is soo sweat 
my dad loves pear"; 
echo "Before::......\n\n$s\n\nAfter::......\n\n"; 
echo preg_replace_callback('/^(apple) ([\d ]+)\n/m', 'replace', $s); 
echo "\n"; 
?> 

Sortie:

Before::...... 

i like apple 
apple is good 
orange is also nice 
my mom likes banana 
apple 123 4 
the pear is soo sweat 
my dad loves pear 

After::...... 

i like apple 
apple is good 
orange is also nice 
my mom likes banana 
apple 1 
apple 2 
apple 3 
apple 4 
the pear is soo sweat 
my dad loves pear 
+0

Ca marche !!! J'ai essayé si longtemps !! Merci beaucoup!! – fukid