我有以下功能,我希望它在單個單詞中只剝去「alpha」 而不是複合單詞的一部分,例如「阿爾法狗」。現在,我只是看到「狗」,並不好。任何幫助?僅當單個單詞時剝去一個單詞,而不是複合單詞的一部分
function stripwords($string)
{
// build pattern once
static $pattern = null;
if ($pattern === null) {
// pull words to remove from somewhere
$words = array('alpha', 'beta', '-');
// escape special characters
foreach ($words as &$word) {
$word = preg_quote($word, '#');
}
// combine to regex
$pattern = '#\b(' . join('|', $words) . ')\b\s*#iS';
}
$print = preg_replace($pattern, '', $string);
list($firstpart)=explode('+', $print);
return $firstpart;
}
編輯:您好,我有一個問題...我上面用功能的新版本編輯:它去除的話,調整的空格,然後做別的東西,我需要的,但它不刪除破折號(或減號)...出了什麼問題?我試過的東西,但無濟於事...感謝
你的代碼最初發布了一些我見過的最醜陋的。花點時間讓它變得可讀,你將有更好的機會獲得答案。 –
對不起,但這不是我的錯誤......或者不完全。我不知道爲什麼,當我把代碼放在行上時,底部的代碼開箱即可... – smepie
瞭解,它足以突出顯示文本並單擊代碼括號圖標... – smepie