css 变量中的HTML、php函数未正确显示

6pp0gazn  于 2023-02-17  发布在  PHP
关注(0)|答案(1)|浏览(125)

在php中,我有一个$form变量,它在一些文本之间包含了EchoTest()函数,EchoTest()函数前后的文本都有CSS标签,但是在网站上,函数EchoTest()出现在整个变量$form之前(不是函数所在的位置),而且没有任何样式。

在PHP中:

function EchoTest(){
echo 'EchoTest 1 with single quote <br>';
echo "EchoTest 2 with double quote <br>";
}

$form ='<h3>Note: Fill in the required filed.</h3>
<span style="color:red">'.EchoTest().'</span>
<h3>Fields with * are required.</h3>'

HTML(Firefox -查看页面源代码)

EchoTest 1 with single quote
EchoTest 2 with double quote
<h3>Note: Fill in the required filed.</h3>

<h3>Fields with * are required.</h3>
<span style="color:red"></span>

据我所知,EchoTest()函数应显示在体内,而不是上方。
我试着删除span,h标签,没有标签。很简单,它应该工作。不确定我错过了什么。

anhgbhbe

anhgbhbe1#

您不应该在函数中使用echo,因为它直接输出字符串。
请改用return

function EchoTest(){
  return 'EchoTest 1 with single quote <br>' .
         "EchoTest 2 with double quote <br>";
}

$form ='<h3>Note: Fill in the required filed.</h3>
<span style="color:red">'.EchoTest().'</span>
<h3>Fields with * are required.</h3>'

这样,EchoTest()的返回值与其他HTML标记放在一起。
当然,"EchoTest"这个名字会引起误解--你只是在试验echo,所以一般来说,编写返回标记的函数。

相关问题