新たにレンタルサーバーを借りてシコシコとサイト制作に勤しんでいると
何やらページ上部にエラーメッセージが出ていることを確認!
なになに?eregで処理をしている行でエラーが出ているみたいだなぁ~。
目次
なんだこのエラーメッセージは、私は英語が苦手だ!Google先生に手伝ってもらおう!
(どんな些細で簡単な英文でも確実に翻訳サイトを利用するのが私のマナー)
Google翻訳いわく、「非推奨:関数の類似関数は()で推奨されていません」
なんだと!非推奨だと??前作ったサイトだと普通に動いていたぞ!仕方ない・・・
phpマニュアルを見てみよう!でも、書き方が玄人的で私の脳みそでは理解し難いから、あまり好きじゃないのよね。
この関数はPHP 5.3.0 で 非推奨となりました。この機能を使用しないことを強く推奨します。
おもいっきり非推奨マークついてる!
ついでに、下記の関数もphp6で廃止。
おいおい!使いまくってるよ!
どうも、すっごく前からわかっていたみたい・・・2010年には既に。。
じゃあどうすんだ!ってことで調べてみた。
pregはPerl互換(PCRE関数)、eregはPOSIX拡張ということで
POSIX拡張が廃止となるみたいだよ。
で、Perl互換(PCRE関数)の下記の関数を使えということみたい。
切り替えないといけないのかぁ~めんどくさいなぁ(゜_゜)
私の場合は、ereg_replaceでエラーが出たのでpreg_replaceで同じ事をやってみる!
小難しく書くのは私が混乱するので実際に書いてみます!
<?php $str_mae = 'この文のカンマを消してみようと思うよ!'; $str_ato = preg_replace('/カンマ/', '', $str_mae); echo $str_ato; ?>
動いた!動いた!書き方は大して変わらないみたい。
置き換えたい文字、上記でいう「カンマ」の前後にスラッシュを加えること。
ereg_replace()ではスラッシュはありませんでしたね。
その他の関数の使い方や詳しい内容は、私が苦手なphpマニュアルでどうぞ!
http://www.php.net/manual/ja/ref.pcre.php
「php5.3でも非推奨で動くんだろ?だっらいいじゃねぇか!」
「php6になるまでに何とかするから!コードを書き直している暇など無い!」と
おっしゃる御人にはとっておきをご紹介!
サッと一行書き加えるだけで、あーら不思議エラー文が消えちゃいます!
そのコードがこれだ!
error_reporting(E_ERROR & ~E_NOTICE & ~E_PARSE);
これを上の方に書き加えてたらエラーが消えるよ!根本解決じゃないよ!
php6になったら問答無用で動かなくなるよ!それまでに書き換えよう!
何か間違いがあったら教えて下さい。