2017-08-02 12 views
-1

私はpreg_replace_callback機能を持っていると私は私のWebページを開いたときに、私は次の警告を得る:PHP - preg_replace_callback機能

警告:preg_replace_callbackは():引数2、 「にstripslashes(はstrstr( "\ 2が必要です\ 5" 、 "REL = \クラス=")? "\ 1":

これは私の関数である:

function ace_colorbox_replace($string) { 

    $pattern = '/(<a(.*?)href="([^"]*.)'.IMAGE_FILETYPE.'"(.*?)><img)/ie'; 

    $result = 'stripslashes(strstr("\2\5","rel=\class=") ? "\1" : "<a\2href=\"\3\4\"\5 rel=\"colorbox\" class=\"colorbox\"><img")'; 

    return preg_replace_callback($pattern, $callback, $string); 

} 

誰かが私を助けてください?あなたが書いた
Brのロバート

+0

ました。 – Toto

+0

ありがとう、あなたはどのように全体の関数を書くだろうか? – Robert

+0

'$ callback'を' function($ m){ここに関数の本体} 'で置き換えます。例: – Toto

答えて

0

機能は、あなたがすべての権利を$patternを定義しているが、$callback変数はあなたがそれを定義するか、または一定の

を使用する必要が

が定義されていないに

を完了していない件の 感謝

$result変数は使用されていないので、不要です。

+0

これはコメントでなければなりません。 – Toto

0

はSRYああ、これは `preg_replace_callack`の第2引数は関数ではなく、変数でなければなりませんコピーミス

function ace_colorbox_replace($string) { 
    $pattern = '/(<a(.*?)href="([^"]*.)'.IMAGE_FILETYPE.'"(.*?)><img)/ie'; 
    $callback = 'stripslashes(strstr("\2\5","rel=\class=") ? "\1" : "<a\2href=\"\3\4\"\5 rel=\"colorbox\" class=\"colorbox\"><img")'; 
    return preg_replace_callback($pattern, $callback, $string); 
} 
+0

情報を追加したい場合は、質問を編集してください。 – Toto

+0

追加の情報を追加するには、質問の編集リンクを使用してください。回答を投稿するボタンは、質問に対する完全な回答のためだけに使用してください。 - [レビューから](/レビュー/低品質の投稿/ 16906818) – Frits