Как сохранить пробелы в гиперссылках при преобразовании реструктурированного текста в html?

#restructuredtext #rst2html.py

#реструктурированный текст #rst2html.py

Вопрос:

Я использую python docutils и rst2html.py скрипт для преобразования реструктурированного текста в html.

Я хочу преобразовать строку следующим образом:

 Test1 `(link1)  <C:/path with spaces/file.html>`_ 
  

Во что-то вроде этого:

 <p>Test1 <a class="reference external" href="C:/path with spaces/file.html">(link1)</a>
  

Но вместо этого я получаю это (пробелы в path удаляются):

 <p>Test1 <a class="reference external" href="C:/pathwithspaces/file.html">(link1)</a>
  

Как мне сохранить пробелы в ссылках?

Ответ №1:

Я не знаю, как вы извлекаете строку из файла (или stdin), но вы должны преобразовать строку, связанную со ссылкой, в HTML-объекты. Вы можете найти дополнительную информацию по следующей ссылке, экранирующей HTML — Python Wiki.

Надеюсь, это поможет вам.

Комментарии:

1. Я не понимаю, зачем мне это делать в этом случае. Я хочу, чтобы мои ссылки содержали пробел. Я не хочу, чтобы пробел заменялся на , потому что C:/path with spaces/file.html это не то же самое, что C:/path с spaces/file.html. Если я помещу C:/path with spaces/file.html в строке проводника Windows (не IE Explorer) файл не может быть найден.

2. даже если вы используете file://c:path with spacesfile.html в ссылке href?

3. @Mark humph, я думал, это сработает так же, как и в других средах, таких как Dolphin (KDE) и Nautilus (Gnome). Удачи.

4. @Отметить: Попробуйте file:///c:/path with spaces/file.htm (все косые черты; 3 из них перед c ).