Я пытаюсь заменить несколько возможных строк только одним в PHP. Кроме того, строки должны соответствовать только полное слово:Заменить несколько строк одной строкой
<?
$rawstring = "Hello NONE. Your N/A is a pleasure to have! Your friend Johanna is also here.";
//strings for substitution
$placeholders = array('N/A', 'NA', 'NONE');
//replace with blank spaces.
$substitution = array('');
$greeting = str_ireplace($placeholders, $substitution, $rawstring);
echo $greeting . "<br />";
?>
Это результирующая строка:
Hello . Your is a pleasure to have! Your friend Johan is also here.
Это почти на выходе я ищу. Я бы хотел, чтобы подстановка затрагивала только отдельные слова. В этом случае он заменяет «na» в «Johanna», в результате чего «Johan». Он должен все же распечатать «Йоханну».
Возможно ли это?
EDIT: Я не могу управлять $ rawstring. Это просто пример.
Создание замены быть строка ('$ подмена = ''; ') будет делать замену для вас. Более сложная часть заменяет только «целые слова». Для этого используется общий подход [регулярное выражение] (http://regular-expressions.info) и [границы слов] (http://www.regular-expressions.info/wordboundaries.html), например '$ result = preg_replace ('/ \ bSQUIRREL \ b/i', 'kitty', 'Oh look, squirrel!'); ' – salathe