有没有办法用预定义的东西自动替换 PHP 中的回显单词或短语?我尝试使用define(),但这并没有按照我想要的方式工作(或者我可能没有正确使用。
在我的数据库中,我有所有的美国州,但它们的名字是这样缩写的;MO、AK、AL、IL...
我想做的是创建一个文件,将 MO 定义为密苏里州,将 IL 定义为伊利诺伊州,当 MO 被回显时,它会自动替换为密苏里州。
有没有好的方法可以做到这一点?
最好的方法是缓冲输出然后处理它。
输出缓冲是通过在您想要的内容即将被回显之前调用 ob_start() 来完成的。然后,您可以使用 ob_get_clean() 获取回显的所有内容,这会将其从缓冲区队列中取出。然后,您可以对其进行任何类型的处理,然后再次回显。
一个简单的例子:
<?php
function echoState() { echo "NY"; }
ob_start();
echoState();
$output = ob_get_clean();
echo str_replace("NY","New York",$output);
?>
Run Code Online (Sandbox Code Playgroud)
运行它,你会在页面上打印出纽约。