在 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 );
我有这个代码
$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 );