プロが教えるわが家の防犯対策術!

プログラム初心者です

以前、教えていただいたコードをサーバーで使ってみたらエラーがでました
xamppでは動いていたのでたぶんphpのバージョンによるエラーかとおもいます
レンタルサーバーはphp5.2.5です
5.5.2に上がるようなことアナウンスされていますがいつになるかわかません
分かる方おねがします(_ _

http://oshiete.goo.ne.jp/qa/8503227.html


でたエラーはこれです
Parse error: syntax error, unexpected T_FUNCTION in hoge.php on line 59

ここらへんぽいのですが、自分には問題ないようにみえます
return preg_replace_callback(
$regex,
function ($m) use (&$i) {

よろしくお願いします

A 回答 (2件)

ああ、これ確かuse句でカウンタを参照して、置換回数に上限設けていましたね…これだと無名関数ではない通常の関数では実現しにくく、クラスを使ったほうが実装が綺麗になると思います。



以前作成した関数には冗長な部分が多く、エスケープも誤って2重にしてしまっている部分もあったので、5.2でも動く形で書き直してみました。「2個以内の動画に該当するURL」以外のURLについても、aタグを使ってリンクするようにしまいした。

※ 確認のため現在は最大値99に設定していますが、2に変更して使ってください

http://pastebin.com/xtTgsLKA
http://ideone.com/ppEqLZ
    • good
    • 0
この回答へのお礼

うまくうごきました。ありがとうございます
コードのレベルが高くて使うのでやっとでした
助かりました。感謝いたします

お礼日時:2014/03/16 20:05

PHP5.3以降でしか無名関数は使えません。


http://php.net/manual/ja/functions.anonymous.php

対処法としては…非常に不恰好になりますが、普通に関数を定義してコールバックとして「関数名」を文字列で渡すしかありませんね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
回答2のコードは自分がまだまだなんだと思いしらされたコードでしたorz
当分、初心者マークはとれなさそうです

お礼日時:2014/03/16 19:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!