2015-10-01 2 views
-2

Я хранимая набор сообщений (строка) для отправки смс через PHP в MySql, скажемЗаменить несколько слов с несколькими параметрами - str_replace()

We have received [MACHINE_NAME] for service. Your service request id is [NEW_SERVICE_ID]. Thank you. 

Теперь я должен заменить [MACHINE_NAME] с именем машины и [NEW_SERVICE_ID] с идентификатором службы, сгенерированным PHP-скриптом. Нужно ли использовать функцию str_replace() несколько раз, чтобы заменить слова?

ответ

1

Делают это, как этот

$str="We have received [MACHINE_NAME] for service. Your service request id is [NEW_SERVICE_ID]. Thank you."; 
$remove = array("[MACHINE_NAME]", "[NEW_SERVICE_ID]"); 
$add = array("YOURMACHINE_NAME", "SERVICE_ID"); 
echo $onlyconsonants = str_replace($remove, $add,$str); 
1

Нет, вы не должны: просто использовать массивы как для поиска и замены Params, как описано в docs:

$res = str_replace(
    ['[MACHINE_NAME]', '[NEW_SERVICE_ID]'], 
    [ $machine_name, $new_service_id ], 
    $source); 
+0

ошибка парсера: синтаксис ошибка, неожиданная '[', expecting ')' в C: \ xampp \ htdocs \ test \ h \ index.php в строке 4 –

+0

Позвольте мне угадать: у вас установлен PHP 5.3, правильно? Эта версия дошла до конца жизни более года назад. Фактически, PHP 5.4 (версия, в которой введен синтаксис скобок) также недавно достигли EOL. – raina77ow

+0

Да [PHP: 5.3.1]. Мне нравится этот путь, а не мой ответ. Но я не мог получить эту работу –

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