Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   javascript и php (Вопрос) (https://javascript.ru/forum/misc/3597-javascript-i-php-vopros.html)

Гауляйтер 06.05.2009 00:59

javascript и php (Вопрос)
 
У меня на php есть код который выводит содержимое директорий.
Я к нему подписал функцию чтобы он выводил каждую папку с яваскриптом, чтобы щёлкаешь на неё, и полный путь оказывался в поле text

Вот мой код, вначале функция:
<script>
function gotodir(lol) {
document.getElementById('ipaddr').value = lol;
}
</script>
<input type="text" id="ipaddr" value="">


А теперь сам вывод на php
$line = preg_replace("#\[Folder\](.*?)\[/Folder\]#si", '<a href="javascript:gotodir(\'\\1\');"><font color=#F9F966>\\1</font></a>', $line);
И вот тут и кроется проблемма, директории имеются такого вида:
C:\Assassin`s Creed\
То есть со спец символами \ и '
Ссылки появляются, но при нажатии на них текст вставляется криво, где то \ не вставляется, ну а если есть ковычка то он полностью не вставляется в поле.
К сожалению взаимодействовать на переменную $line в php я никак не могу, ибо теряется работоспособность кода.
Шаманить можно только с \\1 которая и отвечяет за выводимую информацию в цикле, в голову приходит поставить везде \ перед спецсимволами, сделать это на php нельзя в контексте самой процедуры php, а вручную естественно тоже нельзя...

Что можете посоветовать в данном вопросе?

x-yuri 06.05.2009 09:11

можно вытаскивать название папки из содержимого элемента font

AzriMan 06.05.2009 09:14

Цитата:

Сообщение от Гауляйтер (Сообщение 18384)
К сожалению взаимодействовать на переменную $line в php я никак не могу, ибо теряется работоспособность кода.


Эээ.. а почему?

p.s. а если воспользоваться php addslashes() ?

x-yuri 06.05.2009 09:23

Цитата:

p.s. а если воспользоваться php addslashes() ?
тогда вместе с htmlspecialchars, потому что addslashes может и превратит " в \", но все равно эта кавычка завершит атрибут


Часовой пояс GMT +3, время: 08:47.