在我的父文件的函数中,我从外部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 ( "&#", "&#", $text );
//return htmlspecialchars(stripslashes($text), ENT_QUOTES, "UTF-8");
return htmlspecialchars($html, ENT_QUOTES, "UTF-8");
}
else if ($format == "clean"){
return $html;
}
};
我收到以下错误:
注意:未定义的索引:第25行的C:_Localhost_Tools \ HelperFiles \ htmlify.php中的文本
我已尝试在多个位置声明范围内外的$ text变量,但似乎无法绕过此错误(警告)。任何帮助将不胜感激!感谢。
答案 0 :(得分:2)
替换
if (is_array($_POST)) {
与
if (isset($_POST['text'])) {
你不应该再收到警告了。
但我会建议完全删除它。应始终使用函数参数 - 其他一切都令人困惑。
你也可以删除htmlify.php中的第一行 - 基本上没什么。
答案 1 :(得分:0)
错误消息显示未定义索引 ,而非未定义变量 。查看您尝试访问以text
为关键字的关联变量的所有地方,$_POST['text']
在我看来是您最好的选择,没有任何迹象表明您正在处理{{ 1}}数据AFAIK ...