2010-04-27 2 views
0

У меня есть небольшая проблема с экспортом данных MySQL в html. Проблема в том, что в одном поле у ​​меня есть такие значения: <a href="http://google.com">Google</a> и когда я экспортирую таблицу в формате html, сгенерированная таблица html для этих полей содержит: &lt;a href=&quot;http://google.com&quot;&gt;Google&lt;/a&gt;, которая не является допустимой ссылкой html. Есть ли способ экспортировать таблицу без mysql для преобразования символов < и >?Экспорт таблицы MySQL в HTML

im не используется никакой код. Я просто использую команду mysql: mysql -H "select ...." и укажите выходной файл.

Спасибо!

ответ

1
when i export the table in html format the generated html table for this fields contains: 
&lt;a href=&quot;http://google.com&quot;&gt;Google&lt;/a&gt; 

Это странно, я не получаю, что поведение (в 5.1.34):

$ mysql -H -e "select 'a&b<c>d'"; 
<TABLE BORDER=1><TR><TH>a&b<c>d</TH></TR><TR><TD>a&b<c>d</TD></TR></TABLE> 

И я хочу поведение, которое вы процитировать с побега! Как вы можете видеть из моего примера, в противном случае вы рискуете неправильным HTML. например. a </table> в значении сломает весь результат.

Если вы хотите управлять выходным форматом, чтобы содержимое сырого HTML содержалось в некоторых или всех столбцах, тогда (a) вам будет необходимо написать код для этого, и (b) вам нужно будет убедитесь, что содержимое в вашей базе данных является безопасным HTML, без искаженных строк, которые могут сломать таблицу, или вредоносного JavaScript.

Вариант -H для mysql недостаточен для выполнения этой задачи и кажется довольно ненадежным, судя по нашим различным результатам! Вы захотите выбрать язык сценариев с привязками MySQL и выводить строки вручную.

0

Цель экспорта - экспортировать данные, а не предлагать их наглядное объяснение. Если вы хотите иметь действительную ссылку, вам придется идти с php или любым языком сценариев.

Кстати, даже если вы можете сделать это с помощью трюков, вы не должны.

Смежные вопросы