Это конечно хорошо, но представь какая нагрузка будет на сервер, допустим при загрузке страницы где 20 фото... уже 20 обработок фото, а если фото большие? а если посещаемость не маленькая? Очень не разумно так тратить ресурсы, их и так на сервере всегда не хватает, картинки это статика, она и должна оставаться статикой!!! Если надо менять ватермарк, держи две копии фото, одна источник без ватермарка, другая с ватермарком и показывется на сайте, при новом ватермарке, генеришь один раз из источников новые фото и все.
как я думаю ты сам понимаешь, универсальной функции тут не будет😂
так что пиши функцию по обработке массива строк, перебирай строки, разбивай строку на слова, подсчитывай количество каждого слова во всем тексте,
вобщем задача не для javascript, можно конечно на js сделать но это изврат, а если текст большой, браузер зависнет или выкинет и т.п.
лучше передать решение серверу
<script> function check() { str = document.getElementById("text").innerHTML; array = str.split("\n"); for(i=0;i<array.length;i++) { txtar = document.createElement('textarea'); txtar.setAttribute("name","mytextarea"); txtar.setAttribute("cols","10"); txtar.setAttribute("rows","2"); txtar.setAttribute("wrap","PHYSICAL"); txtar.name='textar[]'; txtar.innerHTML = array; document.getElementById("textareas").appendChild(txtar); } } </script> <form method="post" action="1.php"> <textarea id="text" name="text"></textarea> <input type="button" onclick="check()" value="push_me" /> <div id="textareas"><br><br></div> <input type="submit" value="send" name="send" /> </form>
1)зачем двумя разными путями пытаешся установить два разных значения name
2)appendChild добавит их внутрь нужного элемента, в твоем коде добавляет в <div id="textareas"><br><br></div> так что куда ты руками поставишь этот div туда они и добавятся
3) Пробелы генерируются потому что в windows при переносе строк добавляется не только \n а еще и символ \r т.е. пара символов \r\n
str.split("\r\n"); решит проблему для винды, но под другими ОС работать правильно не будет
так что если не критично что будет только в винде работать то оставляй str.split("\r\n");
если кретично, отдельно делай проверку на символ \r
Чтобы сделать удаление отдельной textarea создавай каждую текстареа в отдельном div, создавай также в этом диве кнопку удалить по нажатии на которую удаляется этот div через removeChild
самый защищенный движок форума - это самый нераспространенный движок
Не советую вообще использховать массовые движки с открытым кодом, ибо какие бы они ни были хорошие их ломают в первую очередь из-за массовости
т.е. вы удалите все shtml а взамен сделаете .php, так урлы же у вас поменяются и вся структура будет новой со всеми вытекающими последствиями...
так что как советовали лучше сделать так чтобы урлы остались такимиже, т.е. заставить интерпритировать сервер shtml как php
иначе будет у вас куча 404
для разделения строк используй split
для создания чекбоксов используй createElement
для создания списка строк разделенных <br> используй appendChild
а вообще почитай книжку по javascript и особенно раздел про DOM
либо я сделаю то что ты там пишеш на яве максимум за день за 100$
это acceslog
выложите errorlog
имха ничего не поможет от парсинга, ибо юзерагента легко скрыть.
наша команда при парсинге сторонних сайтов(мы не занимаемся воровством контента, есть другие цели) всегда указывает юзерагентов поисковых роботов гугла и яндекса, соответственно забанить по юзерагенту не получится только по ip который тоже легко меняется.
Не стоит заморачиваться по этому поводу, этого никак не избежать и наши проекты тоже парсят и тырят, развивайте свой проект и будет вам счастье, а те кто тупо парсит далеко не уедут на этом контенте.
завести акк на gmail, настроить мыло на работу с gmail(читай справку к gmail там есть привязка своих доменов)
я так понимаю не textbox а textarea...;)
короче решение на js такое:
<script> function check() { str = document.getElementById("text").innerHTML; array = str.split("\n"); for(i=0;i<array.length;i++) { txtar = document.createElement('textarea'); txtar.name='textar[]'; txtar.innerHTML = array; document.getElementById("textareas").appendChild(txtar); } } </script> <textarea id="text" name="text"></textarea> <div id="textareas"></div> <input type="button" onclick="check();">
если нужен доп. функционал, вэлком в асю но уже за деньги;)