Ставьте вместо этого
mail ($to,$subject,$message) or print "Не могу отправить письмо!";
А можно вопрос - что эта форма должна делать? А то из кода не сразу понятно.
Нет, там при получении строки с помощью свойства innerHTML перекодируются практически все мнемоники в спецсимволы, кроме < &qt; & и еще парочки. В общем, я сам написал решение. Код поправлю и выложу тут, вдруг у кого-то еще будет такая проблема.
Boeses_Genie добавил 31.01.2011 в 18:24
Решение:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test</title></head><body><!-- Это фрагмент HTML-кода с символами-мнемониками, который нужно обработать.Таким фрагментом могут, к примеру, оказаться данные, полученные с сервера --><div id="input" style="display: none;"><h1>«Test!»</h1><p><a href="http://somesite.com/">"Some Text" Some & Text</a></p></div><!-- Конец фрагмента --><!-- А эта форма - окно для редактирования текста и html-кода,при переключении режимов html-сущности остаются в неименном виде --><form action="#"><input type="button" value="Text/HTML" onclick="editorMode();" /><br /><iframe id="output" style="display: block; width: 300px; height: 200px; margin-top: 5px; border: 1px solid black;"></iframe><textarea id="edithtml" style="display: none; width: 300px; height: 200px; margin-top: 5px; border: 1px solid black;"></textarea></form><!-- Скрипт-обработчик событий формы --><script type="text/javascript">window.onload = function(){document.getElementById("output").contentDocument.designMode = "on";};document.getElementById("output").contentDocument.write(findTXT(document.getElementById("input")).replace(/&/g, "&"));document.getElementById("output").contentDocument.close();document.getElementById("edithtml").value = findTXT(document.getElementById("input")).replace(/&/g, "&");function editorMode(){ if(document.getElementById("edithtml").style.display == "none") { document.getElementById("edithtml").value = findTXT(document.getElementById("output").contentDocument.body).replace(/&/g, "&"); document.getElementById("output").style.display = "none"; document.getElementById("edithtml").style.display = "block"; } else { document.getElementById("edithtml").style.display = "none"; document.getElementById("output").style.display = "block"; document.getElementById("output").contentDocument.write(document.getElementById("edithtml").value); document.getElementById("output").contentDocument.close(); }}function get_html_translation_table (table, quote_style) //Взято с сайта http://phpjs.org/, таблица html-сущностей{ var entities = {}, hash_map = {}, decimal = 0, symbol = ''; var constMappingTable = {}, constMappingQuoteStyle = {}; var useTable = {}, useQuoteStyle = {}; constMappingTable[0] = 'HTML_SPECIALCHARS'; constMappingTable[1] = 'HTML_ENTITIES'; constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; constMappingQuoteStyle[2] = 'ENT_COMPAT'; constMappingQuoteStyle[3] = 'ENT_QUOTES'; useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT'; if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { throw new Error("Table: "+useTable+' not supported'); } entities['38'] = '&'; if (useTable === 'HTML_ENTITIES') { entities['160'] = ' '; entities['161'] = '¡'; entities['162'] = '¢'; entities['163'] = '£'; entities['164'] = '¤'; entities['165'] = '¥'; entities['166'] = '¦'; entities['167'] = '§'; entities['168'] = '¨'; entities['169'] = '©'; entities['170'] = 'ª'; entities['171'] = '«'; entities['172'] = '¬'; entities['173'] = '*'; entities['174'] = '®'; entities['175'] = '¯'; entities['176'] = '°'; entities['177'] = '±'; entities['178'] = '²'; entities['179'] = '³'; entities['180'] = '´'; entities['181'] = 'µ'; entities['182'] = '¶'; entities['183'] = '·'; entities['184'] = '¸'; entities['185'] = '¹'; entities['186'] = 'º'; entities['187'] = '»'; entities['188'] = '¼'; entities['189'] = '½'; entities['190'] = '¾'; entities['191'] = '¿'; entities['192'] = 'À'; entities['193'] = 'Á'; entities['194'] = 'Â'; entities['195'] = 'Ã'; entities['196'] = 'Ä'; entities['197'] = 'Å'; entities['198'] = 'Æ'; entities['199'] = 'Ç'; entities['200'] = 'È'; entities['201'] = 'É'; entities['202'] = 'Ê'; entities['203'] = 'Ë'; entities['204'] = 'Ì'; entities['205'] = 'Í'; entities['206'] = 'Î'; entities['207'] = 'Ï'; entities['208'] = 'Ð'; entities['209'] = 'Ñ'; entities['210'] = 'Ò'; entities['211'] = 'Ó'; entities['212'] = 'Ô'; entities['213'] = 'Õ'; entities['214'] = 'Ö'; entities['215'] = '×'; entities['216'] = 'Ø'; entities['217'] = 'Ù'; entities['218'] = 'Ú'; entities['219'] = 'Û'; entities['220'] = 'Ü'; entities['221'] = 'Ý'; entities['222'] = 'Þ'; entities['223'] = 'ß'; entities['224'] = 'à'; entities['225'] = 'á'; entities['226'] = 'â'; entities['227'] = 'ã'; entities['228'] = 'ä'; entities['229'] = 'å'; entities['230'] = 'æ'; entities['231'] = 'ç'; entities['232'] = 'è'; entities['233'] = 'é'; entities['234'] = 'ê'; entities['235'] = 'ë'; entities['236'] = 'ì'; entities['237'] = 'í'; entities['238'] = 'î'; entities['239'] = 'ï'; entities['240'] = 'ð'; entities['241'] = 'ñ'; entities['242'] = 'ò'; entities['243'] = 'ó'; entities['244'] = 'ô'; entities['245'] = 'õ'; entities['246'] = 'ö'; entities['247'] = '÷'; entities['248'] = 'ø'; entities['249'] = 'ù'; entities['250'] = 'ú'; entities['251'] = 'û'; entities['252'] = 'ü'; entities['253'] = 'ý'; entities['254'] = 'þ'; entities['255'] = 'ÿ'; } if (useQuoteStyle !== 'ENT_NOQUOTES') { entities['34'] = '"'; } if (useQuoteStyle === 'ENT_QUOTES') { entities['39'] = '''; } entities['60'] = '<'; entities['62'] = '>'; for (decimal in entities) { symbol = String.fromCharCode(decimal); hash_map[symbol] = entities[decimal]; } return hash_map;}function htmlentities (string, quote_style) //Взято с сайта http://phpjs.org/, аналог php-фуркции htmlentities { var hash_map = {}, symbol = '', tmp_str = '', entity = ''; tmp_str = string.toString(); if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) { return false; } hash_map["'"] = '''; for (symbol in hash_map) { entity = hash_map[symbol]; tmp_str = tmp_str.split(symbol).join(entity); } return tmp_str;}function findTXT(n) //Эта функция обходит полученный узел DOM и исправляет в текстовых узлах специальные символы на html-сущности{ var numtags = 0; if (n.nodeType == 1) numtags++; if (n.nodeType == 3) { n.data = htmlentities(n.data); } var children = n.childNodes; for(var i=0; i < children.length; i++) { findTXT(children); } return n.innerHTML;}</script></body></html>
В общем, тут движок форума тоже не все позволяет, будьте внимательны: в функции с таблицей мнемоник есть ошибки, движок форума тоже заменяет мнемоники на спецсимволы. Поэтому эту функцию берите с того сайта, на котором я ее нашел.
Если это не форма для ввода текста, как мне показалось, тогда, действительно, можно использовать div с явно указанной в CSS шириной и float: left;.
Вот самый простой способ:
<input type="text" value="текст" style="display: inline;" /> <input type="text" value="текст" style="display: inline;" />
Может быть, кто-нибудь подскажет решение? Суть в том, чтобы при присвоении значения value для textarea, выдернутого из фрагмента документа, сохранялись html-сущности. Дело в том, что в WYSIWYG'ах в различных CMS (WP, Joomla!, к примеру) при переключении режима text/html html-сущности перекодируются в спецсимволы. Можно добиться, чтобы этого не происходило, см., например, CKEditor или то же в 1С Битриксе. Мне интересно понять, как это реализовано.
Способов много. Навскидку: можно создать в этой же таблице дополнительное поле, в которое поместить идентификаторы друзей.
1|Иван|2,3
2|Петр|1,4
3|Василий|1
4|Пафнутий|2
Лучше сделать специальную карту сайта в XML и добавить ее в соответствующие формы поисковых систем. Этот формат поддерживается всеми крупными поисковиками. Можно написать скрипт для генерации файла самому или поискать - в сети есть множество скриптов, которые обходят весь сайт по внутренним ссылкам и генерируют sitemap.xml с нужными настройками. Можно даже привязать такой скрипт к планировщику или cron и забыть о проблеме. Практика показывает, что при наличии этого файла, если он корректно составлен, сайт индексируется быстрее. Также при генерации файла можно выявить ошибки в ссылочной структуре сайта и поправить их.
Вот простенький код с использованием DOM без применения jQuery. Размещать лучше перед закрывающим тегом BODY. При желании можно еще добавить и выбор конкретного атрибута.
<script type="text/javascript"> var item = prompt("Номер ссылки") - 1; var attr = document.getElementsByTagName("a")[item].rel; document.write(attr); </script>
<?php query_posts('v_sortby=views&v_orderby=asc') ?>
А может быть, все тривиально. Возможно, здесь просто ";" пропущена. Хотя это должно вызвать parse error. Возможно, надо так:
<?php query_posts('v_sortby=views&v_orderby=asc'); ?>