0

親ファイルの関数内で、外部 php ファイルから関数を呼び出しています。これが私の(簡略化された)コードです:

親ファイル:

include "HelperFiles/htmlify.php";

function funcName(){
    $description = "some sample text"; 
    $description = htmlify($description, "code");

    echo $description;
};
funcName();

呼び出された関数を含む htmlify.php ファイル:

$text = "";

function htmlify($text, $format){

    if (is_array($_POST)) {
          $html = ($_POST['text']);
        } else {
          $html = $text;
        };    

        $html = str_replace("‘", "'", $html); //Stripping out stubborn MSWord curly quotes
        $html = str_replace("’", "'", $html);
        $html = str_replace("”", '"', $html);
        $html = str_replace("“", '"', $html);
        $html = str_replace("–", "-", $html);
        $html = str_replace("…", "...", $html);



      if ($format == "code"){

        $html = str_replace(chr(149), "•",$html);
        $html = str_replace(chr(150), "—",$html);
        $html = str_replace(chr(151), "—",$html);
        $html = str_replace(chr(153), "™",$html);
        $html = str_replace(chr(169), "©",$html);
        $html = str_replace(chr(174), "®",$html);


       $trans = get_html_translation_table(HTML_ENTITIES);
       $html = strtr($html, $trans);

       $html = nl2br($html);
       $html = str_replace("<br />", "<br>",$html);

       $html = preg_replace ( "/(\s*<br>)/", "\n<br>", $html );  // seperate lines for each <br>
       //$text = str_replace ( "&amp;#", "&#", $text );
       //return htmlspecialchars(stripslashes($text), ENT_QUOTES, "UTF-8");

        return htmlspecialchars($html, ENT_QUOTES, "UTF-8");
      }
      else if ($format == "clean"){
        return $html;
      }

};

次のエラーが表示されます。

注意: 未定義のインデックス: C:_Localhost_Tools\HelperFiles\htmlify.php の 25 行目のテキスト

複数の場所でスコープ内外で $text 変数を宣言しようとしましたが、このエラー (警告) を回避できないようです。どんな助けでも大歓迎です!ありがとう。

4

2 に答える 2

2

交換

if (is_array($_POST)) {

if (isset($_POST['text'])) {

もう警告は表示されません。

ただし、これをすべて削除することをお勧めします。function パラメーターは常に使用する必要があります。他のすべては混乱を招きます。

また、htmlify.php の最初の行を削除することもできます。これは基本的に何もしません。

于 2012-11-05T20:13:55.633 に答える
0

エラー メッセージは、 undefined variableではなく、undefined Indexを読み取ります。キーとして連想変数にアクセスしようとしているすべての場所を見てください。私には最善の策だと思われます。データを扱っていることを示唆するものは何もありません...text$_POST['text']$_POST

于 2012-11-05T20:15:32.247 に答える