PHP - echo 上的撇号和双引号

PHP - Apostrophe and Double quotes on echo

echo '<meta property="article:published_time" content="<?php echo htmlentities($datePublished, \ENT_QUOTES, "UTF-8", false); ?>">';

结果:<meta property="article:published_time" content="<?php echo htmlentities($datePublished, \ENT_QUOTES, "UTF-8", false); ?>"> 我在导航栏上方打印 ">

我知道这是因为 content=" 开始的双引号,但我需要将 UTF-8 放在代码行上。

我不能放 "" 也不能放 '',我该怎么办?有办法echo这个吗?

您可以使用反斜杠 (\) 来转义引号,但是,我建议将其分成三个 'conjoined' echo 语句(用 . 分隔);一个用于 HTML <meta> 的开头,一个用于 htmlentities(),一个用于 <meta>:

的结尾
echo '<meta property="article:published_time" content="' .
htmlentities($datePublished, \ENT_QUOTES, "UTF-8", false) . 
'">';

或在一行中:

echo '<meta property="article:published_time" content="' . htmlentities($datePublished, \ENT_QUOTES, "UTF-8", false) . '">';

这将输出:

<meta property="article:published_time" content="SOME_DATE">