2011-08-23 4 views
0

J'ai du texte avec le style css (tiré de la base de données, donc quand j'utilise echo, css apparaît) et je veux utiliser preg_replace pour remplacer ce css (par exemple avec de l'espace). J'ai essayé de faire quelque chose comme ça:PHP expression régulière preg_replace

$some = "<style[\d\D]*>[\d\D]*?</style>" ; 
$text = $result['text']; 
$a = preg_replace($some, " " ,$text); 

... mais ca marche pas: Attention: preg_replace() [function.preg-remplacerai]: modificateur inconnu '['

Toute idée comment fixer cette?

Merci de nous aider si vous avez besoin de plus d'informations.

+0

Essayez '/ ] *> [^ <]*<\/style>/I'. – mAu

Répondre

3

Placez votre regex dans les délimiteurs. Une barre oblique est souvent utilisé:

/regex/flags 

Dans votre cas:

"/<style[\d\D]*>[\d\D]*?<\/style>/" 
+1

Quand il s'agit de HTML (!), Il est souvent préférable de choisir un délimiteur différent pour éviter d'avoir à échapper toutes ces barres obliques. – thirtydot