2013-02-06 19 views
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]%

+0

那麼,你有什麼嘗試,有什麼你有麻煩嗎? –

回答

1

您需要捕獲該字母並再次插入替換字符串中。

%([a-zA-Z])% 

由於括號裏有括號,所以這將捕獲該字母。

而且隨着

$1% 

$1更換是捕獲組的內容

在PHP它看起來那麼像

$SourceString = preg_replace('/%([a-zA-Z])%/', '$1%', $SourceString); 
0

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

+0

我想要的是將「%[a-zA-Z]%」替換爲「[a-zA-Z]%」 – Ranjit

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

希望這會有所幫助