LINUX.ORG.RU

[PHP] [REGEXP] целое слово

 ,


0

1

почитал про легулярки вот тут http://www.regular-expressions.info/wordboundaries.html

,,,,,,
Simply put: \b allows you to perform a «whole words only» search using a regular expression in the form of \bword\b
,,,,,,


пишу в коде

$source = preg_replace(' \bword\b' ,'smenit' , $source);

выдает

Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash

Что я делаю не так? перерыл весь гугл- на тему whole word все примеры выдают именно такую ошибку О_о


легулярки

Я долго смеялся. КЛБ =)

preg_replace('/\btake\b/', 'eat', 'take this shit');

Может быть так попробовать?

rival ★★
()
Ответ на: комментарий от rival

хм,а как сделать проверку на член массива в цикле?

например

for ($i = 1; $i < 79; $i++) {    $source=preg_replace($array[$i],convert_($_POST[$p]),$source);

для $array[i]?

wozap
() автор топика
Ответ на: комментарий от wozap

хм,а как сделать проверку на член массива в цикле?

Я не очень понял, что ты хотел спросить, но предполагаю, что тебе нужно что-то из этого: array_key_exists isset

Читай доки же, или может даже лучше сначала с книги какой-нибудь начать.

rival ★★
()
Ответ на: комментарий от rival

Точнее даже будет так:

preg_replace('/\\btake\\b/',...

потому что \\ - в строке превращается в \. Но так тоже работает потому что нет escape sequence \b в " - строке.

par12b12
()
Ответ на: комментарий от par12b12

Ой вот не надо — для строк в одинарных кавычках не происходит разбор метасимволов (именно поэтому только их и рекомендуется использовать для regexp, для и не только для них). Единственныё метасимвол — это «\'» для кавычки, ну и ещё частичный «\\» для обратного слеша в конце строки.

avol
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.