我正在获取Syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'
这是我正在使用的代码
function wpse44503_filter_content( $content ) {
$regex = '#src=("|\')'.
'(/images/(19|20)(0-9){2}/(0|1)(0-9)/[^.]+\.(jpg|png|gif|bmp|jpeg))'.
'("|\')#';
$replace = 'src="'.get_site_url( $2 ).'"';
$output = preg_replace( $regex, $replace, $content );
return $output;
}
这是我遇到此错误的行$replace = 'src="'.get_site_url( $2 ).'"';
有人可以帮我修复它吗?谢谢
您要执行的操作(即用函数调用的结果替换匹配的字符串)无法使用preg_replace
完成,您需要使用preg_replace
来获取为每个匹配。
您不能将'$ 2'作为变量名。它必须以字母或下划线开头。
PHP变量名称不能以数字开头。
get_site_url
不是有效的PHP变量。如果要在正则表达式中表示第二组,则要将preg_replace_callback
放在字符串中。但是,由于要将其传递给函数,因此需要使用preg_replace_callback
代替,并在回调中适当替换。
如果PHP变量以数字开头,请使用以下代码: