话说,尽管坚信PHP是世界上最好的语言,但是真的好多年没怎么用PHP了。好多年前,一个上市公司出品的几款安全软件的后台、用户管理以及在线处理付款生成注册码之类的脚本全是我用PHP做的,现在PHP如果不查手册,我只会写Hello World!
了。
(图源 :pixabay)
当年我还熟练地使用Smarty以及PHPAJAX之类的东西,现在查了一下,我擦,这都是啥玩意啊,还有新出的流行模板库,看了几个感觉一头雾水。哎,除了拿一些往事吹吹牛,PHP我真的已经变成菜鸟了。
话说不想用WordPress等CMS,也不想用各种模板库(我不会用),那么PHP和HTML混排,一大堆文本该咋输出啊?经过我努力学习,大概有以下几种方式。
HTML和PHP混排一
<?
// PHP代码
echo "Hello World!";
?>
在此处写HTML等文本代码
随便写啊,随便写
<?
// 继续PHP代码
echo "Hello World!";
?>
HTML和PHP混排二
<?
// PHP代码
echo "Hello World!";
$name="oflyhigh";
?>
在此处写HTML等文本代码
<p>你好<? echo $name ?>,吃饭了吗?</p>
随便写啊,随便写
<?
// 继续PHP代码
echo "Hello World!";
?>
使用双引号、单引号
<?
// PHP代码
echo "Hello World!";
$name="oflyhigh";
echo("在此处写HTML等文本代码
<p>你好$name,吃饭了吗?</p>
随便写啊,随便写");
// 继续PHP代码
echo "Hello World!";
?>
echo函数中字符串用双引号包围,函数中的变量会被解析,比如上述代码中$name会替换成oflyhigh;如果是单引号,变量被当成正常的字符串处理。
如果使用双引号或者单引号包围字符串而字符串中含有和包围字符相同的字符,则需要使用\
转义。
Heredoc 以及 Nowdoc
Heredoc 以及 Nowdoc 和双引号以及单引号包围的字符串类似。但是因为它本身使用的是另外一种写法,所以不会和内容部分中的引号或者单引号冲突,所以可以让内容保持原样,无需转义。
<?
// PHP代码
echo "Hello World!";
$name="oflyhigh";
echo <<<"EOD"
在此处写HTML等文本代码
<p>你好$name,吃饭了吗?</p>
随便写啊,随便写,什么"以及'都可以
EOD;
// 继续PHP代码
echo "Hello World!";
?>
其中EOD啥的叫标识符,命名规则啥的和变量名一样,需要注意的是开始的标识符后边以及结束的标识符前边同一行内不能有任何内容。据说,PHP7.3 以后会更灵活,可惜我服务器PHP没升级。
不多举例啦,举多了怕出错,读者可以自己尝试😀,更多详情,看参考链接吧。
参考链接
This page is synchronized from the post: 每天进步一点点:PHP输出整段文本