2015-03-07 4 views
1

Я хочу, чтобы удалить некоторые слова из строки:заменить некоторые слова из строки

  1. слово: фа
  2. слово: livicon
  3. все слова, начинающиеся с синг (в данном случае fa-word и fa-word-small, но эти слова также могут быть разными. Например, fa-user)

Строки:

fa fa-word livicon fa-word-small fantastic 

Выход должен быть

fantastic 
+0

Вы пробовали что-нибудь? – Rizier123

+0

Также в чем разница с этим вопросом: http://stackoverflow.com/q/28751418/3933332? – Rizier123

+0

Разница в этом вопросе заключается в том, что я хочу заменить слово livicon тоже. Поэтому я думаю, что лучше начать новый вопрос. Извините, но я новый пользователь здесь. preg_replace очень сложно для newbird. Я стараюсь просто учиться. – simfy292

ответ

0

Вы хотите использовать preg_replace() с регулярным выражением, которое использует word boundaries и необязательное группированием для -word-etc частей ваших префиксов строк. Ниже было бы достаточно ...

$str = 'fa fa-word livicon fa-word-small fantastic'; 
$str = preg_replace('~\b(?:fa(?:-\w+)*|livicon)\b~', '', $str); 
echo trim($str); //=> "fantastic" 
+1

Большое спасибо за быструю помощь. Он работает отлично. – simfy292