replace — php форматирование новых строк и пробелов

Это немного сложно объяснить, но я постараюсь изо всех сил, я пытаюсь создать инструмент для редактирования описаний каналов для TeamSpeak 3, для этого вы используете функцию channeledit.

пример использования: channeledit channel_description = My \ sDescription

Предположительно \ s = пробел \ n = новая строка, есть ли какой-нибудь возможный способ от использования текстовой области до сценария php, чтобы он вывел строку в виде:

Мои \ sDescription \ nWelcome \ STO \ SMY \ sServer

Вместо того, чтобы выглядеть как:
Мое описание
Добро пожаловать на мой сервер

Если есть пробелы или разрывы строк, это убивает команду и останавливает ее работу. Может ли кто-нибудь помочь мне здесь?

Код для этого:

$ name = «Test
Тестовое задание
Тест Тест Тест «;

$ ts3_VirtualServer-> execute («channeledit cid =». $ current_cid. «channel_description =». $ name);

0

Решение

$name = "Test Test
Test test test";
(string)$newname = str_replace(' ', '\\s', $name);
$newname = urldecode(str_replace('%0A', "\\n", urlencode($newname)));

Вы должны избежать (\) обратной косой черты (\). % 0A легче найти.
Мой вывод:

Test \ STest \ NTest \ STest \ STest

0

Другие решения

$ name = STR_replace («», «/ s», $ name)
$ name = str_replace («\ n», ‘\ n’, $ name);

0

Если вы хотите заменить пробелы и возврат каретки буквальным \n а также \s, Я бы сделал следующее:

$name = urldecode(str_replace("%0D%0A","\\n",str_replace("+","\\s",urlencode($name))));
0
По вопросам рекламы [email protected]