0

我想替换下面写的字符串

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\"%') )

在上面的 scring 中,我想要实现的是替换%[a-zA-Z]%[a-zA-Z]%

4

4 回答 4

1

您需要捕获该字母并再次插入替换字符串。

%([a-zA-Z])%

由于周围有括号,这将捕获该字母。

并替换为

$1%

$1是该捕获组的内容

在 php 中它看起来像

$SourceString = preg_replace('/%([a-zA-Z])%/', '$1%', $SourceString);
于 2013-02-06T07:55:06.523 回答
0

采用$string = str_replace("%A%", "%A", $string);

于 2013-02-06T07:50:44.047 回答
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%')"); 
于 2013-02-06T07:54:07.623 回答
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);

希望这可以帮助

于 2013-02-06T07:55:34.003 回答