我有這個字符串:PHP:之前和每一個括號後添加引號
$海峽= 「訂戶(TG)(次),用戶服務(TG)(次)」
我想前和每一個括號後添加單引號所以現在它看起來像這樣:
$str = "Subscriber `(TG)``(times)`, Subscriber Service `(TG)``(times)`"
我怎樣才能做到這一點在PHP?也許與正則表達式?
在此先感謝
我有這個字符串:PHP:之前和每一個括號後添加引號
$海峽= 「訂戶(TG)(次),用戶服務(TG)(次)」
我想前和每一個括號後添加單引號所以現在它看起來像這樣:
$str = "Subscriber `(TG)``(times)`, Subscriber Service `(TG)``(times)`"
我怎樣才能做到這一點在PHP?也許與正則表達式?
在此先感謝
只需使用str_replace
,是這樣的:
$str = str_replace("(", "'(", $str);
$str = str_replace(")", ")'", $str);
$ str = str_replace(array(「(」,「)」),array(「'(」,「')」),$ str); –
您可以使用lookarounds:
$str = preg_replace('~(?<=\))|(?=\()~', '`', $str);
或一個簡單的字符串替換:
$arr = array('(' => '`(', ')' => ')`');
$str = strtr($str, $arr);
(這可能是最快的方法)
如果你想處理嵌套括號:
$str = preg_replace('~\((?>[^()]++|(?R))*\)~', '`$0`', $str);
好的解決方案!我只是想提醒注意圓括號內的例子,比如「Subscriber((TG)(times))」,但它不能用正則表達式來解決 –
$str =str_replace('(','`(',$str);
$str =str_replace(')',')`',$str);
$str
後添加此代碼是OK!
不要過度使用正則表達式,一個簡單的字符串上的每個取代「(」字符和「)」字符就足夠了:
$str = str_replace('(', '`(', $str);
$str = str_replace(')', ')`', $str);
鑑於你的字符串,你可以創建一個小功能。
$str = "Subscriber `(TG)``(times)`, Subscriber Service `(TG)``(times)`";
print put($str);
function put($mystring)
{
$firstRep = str_replace("(", "'('", $mystring);
$secondRep = str_replace(")", "')'", $firstRep);
return $secondRep;
}
希望它有助於
http://php.net/str_replace。你的例子是非常不一致的。爲什麼第一次TG /時代獲得)''(和其他TG /時代不是? –
@pswg我的錯誤:(現在更新 – user3288852
@pswg我不知道如何完成它,我參加了我應該使用的地方$ str = preg_replace(「」,「'」,$ str);但我真的不知道 – user3288852