0

PHP5 で以前の PHP 4 ページを実行すると、非推奨エラーが発生します。(それともスラッシュですか?) しかし、置換する " +" 項目は私をうんざりさせます。

関数 ereg_replace() は非推奨です:

$perms = ereg_replace(" +", "&", @trim($tmp[0]));

今、下のこれは本当に私の心を曲げています. キーボードの GOOGLE キーを使い果たした後で初めて、チャンスをつかみ、いくつかのコードを貼り付けました。私と同じように困難な人を助けることを期待して、この質問に答えることにしました. 「コールバック関数」とは一体何ですか?私はおそらく、他のプログラミング言語でこのようなものを一日中使用しています。しかたがない。私の不安レベルのせいで、私の単純な初心者の質問に答えるフォーラムを正しく選択できなかったと思います。

preg_replace(): /e 修飾子は非推奨です。代わりに preg_replace_callback を使用してください:

$string = preg_replace("/&#([0-9]+)/e","chr('\\1')",$string);

他の StackOverKnow スレッドと回答での私の混乱は、例が複雑すぎることです。正しい構文で修正された例を入力するだけで、誰か (私を含む) が恩恵を受けることができると思います。私はこの話題にあまり触れていません。この RTF ジェネレーターには何百万行ものコードがあるため、アップグレードする必要があります。影響: 何かを変更すると、連鎖的な問題が発生し、元に戻すことができなくなります。

私たちはクラブ用に気の利いたRTF ジェネレーターを購入して、ハイキングの PHP リストから Word 文書を生成しました。これは、減価償却エラーを見つけている場所です。いつの日か、PHP で作成された Word 文書が必要になるかもしれません。このようなものを見つけるのは難しく、過去 9 年間うまく機能しています。

4

1 に答える 1

1

「+」は、二重引用符とプラス記号により、入力ではなく関数の一部であると思われるため、混乱を招きます。

$perms = ereg_replace(" +", "&", @trim($tmp[0]));

answer: preg_replace("/ +/", "&", @trim($tmp[0]));

これは「何の機能?機能がない!」と頭を悩ませました。このほとんどあいまいな例を見つけて、中間の解決策を選択するまで:

preg_replace(): /e 修飾子は非推奨です。代わりに preg_replace_callback を使用してください:

$string = preg_replace("/&#([0-9]+)/e","chr('\\1')",$string);

$string = preg_replace_callback("/&#([0-9]+)/", create_function ('$matches', 'return chr($matches[1]);'),$string);

Depreciated と Replacementを比較したこのリンクが非常に役立つことがわかりました。

于 2015-11-15T19:38:45.853 に答える