我想替换下面写的字符串
AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%A%')
AND (mt1.meta_key = 'wp_capabilities' AND CAST(mt1.meta_value AS CHAR) LIKE '%\"s2member\\_level2\"%') )
到
AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE 'A%')
AND (mt1.meta_key = 'wp_capabilities' AND CAST(mt1.meta_value AS CHAR) LIKE '%\"s2member\\_level2\"%') )
在上面的内容中,我想要实现的是将%[a-zA-Z]%
替换为[a-zA-Z]%
答案 0 :(得分:1)
您需要捕获该字母并再次插入替换字符串。
%([a-zA-Z])%
这将捕获该字母,因为括号周围。
并替换为
$1%
$1
是该捕获组的内容
$SourceString = preg_replace('/%([a-zA-Z])%/', '$1%', $SourceString);
答案 1 :(得分:0)
使用$string = str_replace("%A%", "%A", $string);
答案 2 :(得分:0)
我不确定,但你可以尝试一下。
$find ="/%A%/";
$replace ="A%";
echo preg_replace ($find, $replace, "AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%A%')");
答案 3 :(得分:0)
您可以执行以下操作
$data = "AND ( (wp_usermeta.meta_key = 'first_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%A%')
AND (mt1.meta_key = 'wp_capabilities' AND CAST(mt1.meta_value AS CHAR) LIKE '%\"s2member\\_level2\"%') )";
$data = str_replace("%A%", "A%", $data);
希望这有帮助