Проблема с вашим кодом из вопроса заключается в том, что в сгенерированном коде Javascript будут отсутствовать кавычки вокруг строки.
Вы можете добавить к выводу кавычки вручную, как показано ниже:
print("var myText = '". $myText. "';\n");
Тем не менее, обратите внимание, что это прервется, если строка сама содержит кавычки (или символы новой строки, или несколько других), поэтому вам нужно ее избежать.
Это можно решить с помощью addslashes()
функция, среди прочего, но это может по-прежнему иметь проблемы.
Лучшим подходом было бы использование встроенной в PHP функции JSON, которая разработана специально для генерации переменных Javascript, поэтому она будет выполнять все экранирование длявы правильно.
Функция, которую вы ищете, это json_encode()
.Вы бы использовали его следующим образом:
print("var myText = ". json_encode($myText). ";\n");
Это будет работать с любым типом переменной - целым числом, строкой или даже массивом.
Надеюсь, что поможет.