2009-06-22 6 views
12

я получаю эту ошибку:Почему preg_replace бросает мне ошибку «Неизвестный модификатор»?

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

на:

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

Я делаю var_dump на $ result-> module_pregmatch и я получаю следующее:

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) 
Может кто-то

скажите, пожалуйста, что я делаю неправильно? Я застрял на этой ошибке слишком долго ...

ответ

37

Вы используете перемотки в качестве вашего шаблона регулярных выражений, поэтому /<title>(.*)</title>/Ui' не будет работать (</title> имеет косую черту).

Вы должны быть в состоянии избежать слэш или использовать другой разделитель, который не содержится в шаблоне, например

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

или

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

 Смежные вопросы

  • Нет связанных вопросов^_^