在 str_replace 中使用 PHP 变量

Use PHP Variable In str_replace

我有这个代码

$html = str_replace( '<a','<a class="name"', $html );

我需要在代码中添加这样的变量

$html = str_replace( '<a','<a class="$var"', $html );

但这行不通。

编辑:是否可以使用 sprintf 执行此操作?

关于如何做到这一点的任何想法:

方法有很多种。这里有两个:

$html = str_replace('<a', '<a class="' . $var . '"', $html);

$html = str_replace("<a", "<a class=\"$var\"", $html);

" 前面的反斜杠称为 'escape'。这意味着 " 将保持原样,不会被解释为字符串常量的结尾。

当您使用单引号时,变量不会被填充。此行为仅在您使用双引号时存在。这适用于例如:

$html = str_replace( '<a','<a class="' . $var . '"', $html );

这里 . 用于 'concatenate' 字符串,换句话说,将它们粘合在一起。

您还可以使用不同的方法,在 class 名称周围加上单引号:

$html = str_replace( '<a',"<a class='$var'", $html );

如前所述,这些是双引号。这意味着变量现在可以用引号转义了。

两者都行,随心所欲。

您可以将要替换的字符串放在双引号中,并使用不带引号的 $var

$html = str_replace( '<a',"<a class=$var", $html );