2009-06-22 11 views
12

sigo recibiendo este error:¿Por qué preg_replace me arroja un error de "modificador desconocido"?

Warning: preg_match() [function.preg-match]: Unknown modifier 't' in D:\xampp\htdocs\administrator\components\com_smms\functions\plugin.php on line 235

en:

$PageContent = preg_replace($result->module_pregmatch, '', $PageContent); 

hago un var_dump en los $ result-> module_pregmatch y me sale el siguiente:

string '/<title>(.*)</title>/Ui' (length=23) 

string '/<meta[^>]*name=["|\']description["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=77) 

string '/<meta[^>]*name=["|\']keywords["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=74) 

string '/<meta[^>]*name=["|\']author["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=72) 

string '/<meta[^>]*name=["|\']copyright["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=75) 

string '/<meta[^>]*name=["|\']robots["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=72) 

string '/<meta[^>]*http=equiv=["|\']content-language["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=88) 
string '/<meta[^>]*http-equiv=["|\']content-type["|\'][^>]*content=["|\'](.*)["|\']\s*\/>/Ui' (length=84) 

string '/<link[^>]*href=["|\'](.*)["|\'][^>]*rel=["|\']shortcut[^>]*icon["|\'][^>]*type=["|\']image\/x-icon["|\']\s*\/>/Ui' (length=114) 

string '/<link[^>]*href=["|\'](.*)["|\'][^>]*rel=["|\']alternate["|\'][^>]*type=["|\']application\/rss\+xml["|\'][^>]*title=["|\'](.*)["|\'][^>]\/>/Ui' (length=142) 

string '/<link[^>]*href=["|\'](.*)["|\'][^>]*rel=["|\']alternate["|\'][^>]*type=["|\']application\/atom\+xml["|\'][^>]*title=["|\'](.*)["|\'][^>]\/>/Ui' (length=143) 
Puede alguien

por favor dime que estoy haciendo mal? He estado atascado en este error demasiado tiempo ...

Respuesta

37

Está utilizando barras inclinadas hacia adelante como su delímetro de patrón regex, por lo que /<title>(.*)</title>/Ui' no funcionará (</title> tiene una barra inclinada).

Usted debe ser capaz de escapar de la barra inclinada o usar un delimitador diferente que no está contenida dentro del patrón, por ejemplo

'/<title>(.*)<\/title>/Ui' //(esacaping) 

o

'~<title>(.*)</title>~Ui' //different delimiter 
Cuestiones relacionadas