2013-03-02 34 views
0

我想展開一個前面提到的問題。我想用的preg_replace切換整個單詞或對接達到一定標點或符號,如 \s\,\:\-\%\(\)\*\&\$\#\!\@\"\; 目前的話,我使用的是這樣的事情,preg_replace整個單詞或標點之間

$_SESSION['ABBREV']['GENERAL']['SEARCH'][] = '/(?<=\s|^)' . preg_quote($row['word'], '/') . '(?=\s|$)/i'; 
$_SESSION['ABBREV']['GENERAL']['REPLACE'][] = ucwords($row['abbrev']); 

$word = $_SESSION['ABBREV']['GENERAL']['SEARCH']; --array that holds whole words 
$abbrev = $_SESSION['ABBREV']['GENERAL']['REPLACE']; --array that stores abbreviations 
$string = 'James Laughlin Music Center, Chatham University'; 

$new_word = = preg_replace($word, $abbrev, $string); 

我想它出來爲詹姆斯拉夫林音樂中心,查塔姆大學所在地Cntr。是中心的縮寫。如果由於某種原因,我還希望它是詹姆斯拉夫林音樂,中央大廳查塔姆大學出來詹姆斯拉夫林音樂,Cntr。 Hall Chatham大學。我不確定我是否解釋得很好。

回答

0

使用單詞邊界:

'/\b' . preg_quote($row['word'], '/') . '\b/i' 
相關問題