Есть сторонний смс-шлюз. Ну я решил вписать код транслита в сам код выполнения php скрипта отправки смс из клиентской базы.
Вот код который отправляет все как есть, все что ему передали в переменной $sms["text"] , то и отправил.
Этот код отправляет и проблем нет.
function send_sms() { global $sms; $conn = new SoapClient('http://адрес внешнего шлюза ); $login = 'логин для подкл. к шлюзу'; $password = 'пароль для подкл к шлюзу'; $alphaName = $sms["sender"]; // Альфа-имя при отправке смс. $text = $sms["text"]; // подтягивает текст смс из массива // Отправка одиночного сообщения $destAddr = $sms["phone"]; // подтягивает телефон из массива try { $smscIds = $conn->sendSms($login,$password,$alphaName,$destAddr,$text); } catch (SoapFault $exception) { echo $exception; } }
Добавил в код транслит по переменной $text, уже отказывается работать. Подскажите где напортачил ?
function send_sms() { global $sms; // берем общий массив $sender = $sms["sender"]; // делаем подмены $phone = $sms["phone"]; $text = $sms["text"]; $translit = array( 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'Э' => 'E', 'Ю' => 'YU', 'Я' => 'YA', // вообщем полная таблица символов. ); $text_tran = strtr($text, $translit); // делаем транслитерацию $conn = new SoapClient('http://адрес шлюза); $login = 'Логин для подкл к шлюзу'; $password = 'пароль для подкл к шлюзу'; $alphaName = $sender; $text = $text_tran; // подставляем текс из переменной транслитерации // Отправка одиночного сообщения $destAddr = $phone; try { $smscIds = $conn->sendSms($login,$password,$alphaName,$destAddr,$text); } catch (SoapFault $exception) { echo $exception; }