preg_replaceが“不明な修飾子”を投げる理由エラー? [複製]

StackOverflow https://stackoverflow.com/questions/1026387

  •  06-07-2019
  •  | 
  •  

質問

    

この質問にはすでに回答があります:

         

このエラーが引き続き発生します:

  

警告:preg_match()   [function.preg-match]:不明   修飾子「t」   D:\ xampp \ htdocs \ administrator \ components \ com_smms \ functions \ plugin.php   235行目

on:

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

$ result-> module_pregmatchでvar_dumpを実行すると、次の結果が得られます。

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)

誰かが私が間違っていることを教えてもらえますか?私はこのエラーに長時間かかりすぎています...

役に立ちましたか?

解決

正規表現パターン区切り文字としてスラッシュを使用しているため、 /&lt; title&gt;(。*)&lt; / title&gt; / Ui 'は機能しません(&lt; / title&gt; にはスラッシュがあります)。

たとえば、スラッシュをエスケープするか、パターンに含まれていない別の区切り文字を使用する必要があります。

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

または

'~<title>(.*)</title>~Ui' //different delimiter
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top