php中使用js调用不显示内容

调用的方式是:<scriptlanguage=javascriptsrc=index2.php></script>两个文件位于同一个文件夹下如果将$b="<ahref='... 调用的方式是:

<script language=javascript src=index2.php></script>
两个文件位于同一个文件夹下如果将$b="<a href='#'>首页</a>\r\n";这一句改为$b="纯字符";的形式就可以显示出来,没有问题,不过用超链接就不行,谢知道怎么搞吗?
被调用的文件内容是:
<?php
$a=abc;
$b="<a href='#'>首页</a>\r\n";
$c=$a.$b;

//echo"document.write(\"$c\");";
?>
document.write("<?echo $c;?>");
展开
 我来答
阳光上的桥
2008-09-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65796
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
对于以<script language=javascript src=index2.php></script>这样方式调用的php文件(index2.php),我有一个经验,采用下面的结构:

<?php
//首先是在文件一开头定义一个变量保存所有的输出内容
$out_str='';

//把原来程序里面所有的echo语句都修改为给上面的变量增加内容
//比如下面的语句
//echo "错误信息:$err";
//就修改为下面这样
//$out_str.="错误信息:$err";

//在程序的最后,使用下面的语句,完成把变量里面的所有内容输出
foreach (explode("\n",str_replace("\r",'',$out_str)) as $line) echo "document.write('".str_replace("'","\\'",$line)."');\n";
?>

我许多程序都是用的这样的模板,非常顺利。
拼命杀狼
2008-09-16 · 超过15用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:45.1万
展开全部
下面是一个JS输出格式化的函数,可以通过此函数对任意html进行格式化,然后用JS输出,这样就不用担心标准的html无法输出了。如果有用你可以把它收藏起来,相信以后你会用到它的。

像上面的东东可以这样写:
<?php
$a=abc;
$b="<a href='#'>首页</a>\r\n";
$c=$a.$b;

echo "document.write('";
echo jsoutputformat($c);
echo "');";
?>

function jsoutputformat ($str)
{
$str = trim ($str);
$str = str_replace ('\\s\\s', '\\s', $str);
$str = str_replace ('
', '', $str);
$str = str_replace ('
', '', $str);
$str = str_replace (chr(10), '', $str);
$str = str_replace (chr(13), '', $str);
$str = str_replace (' ', '', $str);
$str = str_replace ('\\', '\\\\', $str);
$str = str_replace ('"', '\\"', $str);
$str = str_replace ('\\\'', '\\\\\'', $str);
$str = str_replace ("'", "\'", $str);
return $str;
}

此函数请原样拷贝。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq277614015
2008-09-28 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:116万
展开全部
$b="<a href='#'>首页</a>\r\n"; 被php执行
即$b="字符串"
$c="字符串" 所以无超链接

$b="<a href='#'>首页</a>\r\n"; \r\n会转义要去掉

<?php
$a=abc;
$b="<a href='#'>首页</a>\r\n";
$c=$a.$b;

?>
document.write("<? =echo $c;?>");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿明二手车知识
2008-09-10 · TA获得超过511个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:134万
展开全部
你应该吧\r\n去掉
去掉之前php输出的代码是
document.write("abc<a href='#'>首页</a>
");
去掉后变成
document.write("abc<a href='#'>首页</a>");
就正常了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ifnotyou
2008-09-10 · TA获得超过554个赞
知道小有建树答主
回答量:482
采纳率:50%
帮助的人:303万
展开全部
唯一答案:$b最后面的\r\n惹的祸,去掉它就成了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式