2016-12-04 2 views
1

я имею эту проблему замену слова, но заменить другиезаменить точное слово без замены не точное слова с str_replace

$dbword = 'test text lorem ipsum ext'; 
$var1 = str_replace($dbword, 'ext', $var); 
$var1 = str_replace($$dbword, 'text', $var1); 

я хочу, чтобы заменить текст без размещения линии, потому что внутр и текстовых слова из базы данных, и сортировка запроса - не лучший способ для меня.

Как я могу заменить слова, не изменяя похожее слово? пожалуйста, помогите заранее спасибо

+0

Не используйте str_replace(), используйте [preg_replace()] (http://www.php.net/manual/en/ function.preg-replace.php), потому что это позволяет вам проверять границы слов –

+0

, как я могу это сделать с помощью preg_replace() sir? :(Я не знаю, как использовать регулярное выражение –

ответ

1

вы должны использовать preg_replace как:

$dbword = 'test text lorem ipsum ext'; 
$rplc = 'replaced'; 
$pattern = '/\bext\b/u'; 
$ret = preg_replace($pattern,$rplc,$dbword);//test text lorem ipsum replaced 
$pattern2 = '/\btext\b/u'; 
$ret2 = preg_replace($pattern2,$rplc,$dbword);//test replaced lorem ipsum ext 
Смежные вопросы