2010-06-14 23 views

回答

1

如果你想使用替代,你可以使用以下命令:

$str = "(ABC)some text"; 
$str = preg_replace("/^.*\(([^)]*)\).*$/", '$1', $str); 

該模式將匹配整個字符串,並將其替換爲括號內的任何內容

+0

這也很好。 :) – apis17 2010-06-14 06:50:33

2

相反的preg_replace的,我會用的preg_match:

preg_match('#\(([^)]+)\)#', $str, $m); 
echo $m[1]; 
+1

實際上,這是一個更明確的情況,用於匹配字符串而不是替換字符串。 – gnarf 2010-06-14 06:32:36

+0

歡迎來到Stack Overflow!用4個空格開始每行,將其格式化爲代碼 - http://stackoverflow.com/editing-help。此外,沒有必要簽署您的帖子。 – Kobi 2010-06-14 06:34:21

+0

感謝這個作品! – apis17 2010-06-14 06:50:00

0

試試這個:

$str = preg_replace('/\((.*?)\).*/','\\1',$str); 
+0

謝謝。這工作:) – apis17 2010-06-14 06:51:28

0

我會避免在這裏完全使用正則表達式。相反,你可以使用這樣的普通字符串函數: $ str = str_replace(array('(',')'),array(),$ str);

+0

感謝user366075,但是這不會刪除括號末尾的某些文本*。只需要括號中的字符串並刪除其他字符。 – apis17 2010-06-14 07:07:34