preg_replace не принимает переменные - PullRequest
0 голосов
/ 27 января 2010
$line = "Hello World";

$line= preg_replace("/Hello/", $replacement, $line); - Works!

$find = "Hello";
$line= preg_replace("/$find/", $replacement, $line); - Wont replace anything!

$string = "Hello";
$find = "/".$string."/";
$line= preg_replace($find, $replacement, $line); - Wont replace anything!

Как я могу использовать переменную, чтобы preg_replace() сказать, что найти?

Ответы [ 2 ]

0 голосов
/ 27 января 2010

Ошибка должна быть где-то еще. Следующий скрипт отлично работает:

<?php
$line = "Hello World";
$replacement = "Bye";

$string = "Hello";
$find = "/".$string."/";
print_r( preg_replace($find, $replacement, $line) );

## output: Bye World

Можете ли вы предоставить более подробную информацию. Какое значение $replacement?

0 голосов
/ 27 января 2010

Если вы буквально используете «Hello World», все примеры должны работать, и было бы странно, если бы они не работали.

Если вы используете разные строки со специальными символами, обязательно запустите preg_quote перед их использованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...