2012-03-06 13 views
4

У меня есть предложение, как это:заменить слово в предложении

Stan, Stanley, Stan! 

Я хотел бы заменить все слова «Стан» от Питера, чтобы иметь что-то вроде этого

Peter, Stanley, Peter! 

Вот мой вопрос: Стенли нельзя заменить, потому что это не слово Стэн!

Прямо сейчас я сделать что-то вроде этого:

$txt = preg_replace(array('/Stan/i', '/Jack/i'), array('Peter', 'Jennifer'), $txt); 

но что мне нужно, это регулярное выражение, чтобы соответствовать только одно слово (которым означает мое слово не немедленно следует буква).

Я пытался что-то вроде этого/Stan ([^ [A-Za-Z])/я, но это делают:

Peter Stanley, Peter 

Некоторые знаки препинания отсутствуют

+1

Возможно, этот пост может помочь? http://stackoverflow.com/questions/6566176/strip-a-word-when-is-a-single-word-only-not-part-of-a-composite-word –

ответ

7

Вы можете использовать границы слов (\b) для этого;

/\bStan\b/ig 

будет соответствовать Stan, но не Stanley.

Demo

Смежные вопросы