如何通过PHP中的回显获取变量以在HTML中输出

问题描述

<?PHP
$request_uri = $_SERVER['REQUEST_URI'] ;

$path=explode("?",$request_uri);

$pname=basename($path[0]);

if ($pname == "blood-facts-for-kids.html") { $p1 = 'Human Body Facts'; $p1u = 'https://www.factsjustforkids.com/human-body-facts.html'; $p2 = 'Blood Facts'; $p2u = 'https://www.factsjustforkids.com/human-body-facts/blood-facts-for-kids.html'; }

echo '<script type="application/ld+json">{"@context":"https://schema.org/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"{$p1}","item":"{$p1u}"},{"@type":"ListItem","position":2,"name":"{$p2}","item":"{$p2u}"}]}</script>';

?>

我在使变量出现在回显中时遇到问题。一切正常,如果网页名称正确,并且我自己使用

来回显变量,则设置变量
echo "{$p1},{$p1u},{$p2},{$p2u},";

显示正确的数据。我显然在回显代码中做错了事。

作为参考,这是动态注入结构化数据的粗略方法

解决方法

您可以使用
echo $ variable_name //显示变量

如果您想将其显示在HTML标记中

<p>Your age is <?php echo $age ?>.</p> 

我提供了更多详细信息的链接 https://www.dummies.com/programming/php/how-to-display-php-variable-values/

,

可以在双引号""中使用echo:

echo "<script type=\"application/ld+json\">{\"@context\":\"https://schema.org/\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"{$p1}\",\"item\":\"{$p1u}\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"{$p2}\",\"item\":\"{$p2u}\"}]}</script>";

或使用串联:

echo '<script type="application/ld+json">{"@context":"https://schema.org/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"' . $p1 . '","item":"' . $p1u . '"},{"@type":"ListItem","position":2,"name":"' . $p2 . '","item":"' . $p2u . '"}]}</script>';
  • 请注意,使用双引号时,您需要对字符串内的其他双引号进行转义。