Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Как реализовать размножение текста на javascript?
Новая тема
Ответить
цитата
29/01/11 в 11:50
log
Хочу реализовать аналог подобной функции, которая есть на php, но только средствами javascript.
Вот, пример функции на php:
$content="{Превет|Хеллоу|Хай} {народ|люди|пипл} это {тест|пример|демка} желаемой функциии.";
preg_match_all('#{(.*)}#Ui',$content,$matches);
for($i=0; $i<sizeof($matches[1]); $i++){
$ns=explode("|",$matches[1][$i]);
$c2=sizeof($ns);
$rand=rand(0,($c2-1));
$content=str_replace("{".$matches[1][$i]."}",$ns[$rand],$content);
}
Хочу сделать чтобы текст генерился динамично, т.е. без перезагрузки.
Вот, к примеру форма:
Код:
<textarea name="content" id="content">{Превет|Хеллоу|Хай} {народ|люди|пипл} это {тест|пример|демка} желаемой функциии.</textarea>
<br>
<a href="#" onclick="generatetext();">generate</a>
<br>
<textarea name="result" id="result"></textarea>
Ну, и соответственно начинаем скрипт:
Код:
<script language="JavaScript" type="text/javascript">
function generatetext() {
var myTextGen = document.getElementById ('content').value;
// тут ядро скрипта
document.getElementById ('result').value = myTextGen;
}
</script>
В общем на этом как бы у меня ступор, функция вроде бы и простая, но для людей знающих.
Короче нид хелп,
с меня рейт по максимуму
. Да, и просьба без jQuery.
цитата
29/01/11 в 15:34
Yacc
log писал:
Хочу реализовать аналог подобной функции, которая есть на php, но только средствами javascript.
Вот, пример функции на php:
...
В отсутствии проектной документации определить что делает программа по её тексту - алгоритмически неразрешимая задача.
Я к тому что если уж ты просишь чтобы за тебя написали готовое решение, то будь любезен хотя бы нормально задачу поставить. В то, что ты написал только вникать надо пол-часа.
цитата
29/01/11 в 16:11
FXIX
может нет смысла мешать на js такое. если текста будет дохуя то висяк будет. отправляй аяксом и исполняй пхп, потом получай в див на странице
цитата
29/01/11 в 16:18
FXIX
регулярка вроде '#{(.*?)}#is'
цитата
29/01/11 в 18:06
log
Цитата:
Я к тому что если уж ты просишь чтобы за тебя написали готовое решение, то будь любезен хотя бы нормально задачу поставить
А нормально это как? Тут и так разжевано все до мелочей. К тому же я в первую очередь надеялся, что можно не написать за меня, а просто заменить php функции на javascript`овские ни и подправить немного, чтоб работало все, кода там всего на 7 строчек.
Цитата:
В то, что ты написал только вникать надо пол-часа.
Чтобы вникнуть достаточно раз прочитать, максимум на это 5-ть минут потратить надо.
Цитата:
может нет смысла мешать на js такое. если текста будет дохуя то висяк будет.
Текста будет до 500 символов, так что думаю на javascript все-таки проще реализовать и удобнее, т.к. не надо дополнительные файлы и геморой с отправкой и получением данных.
цитата
29/01/11 в 20:21
Yacc
log писал:
Тут и так
разжевано все до мелочей
. К тому же я в первую очередь надеялся, что
можно не написать за меня
, а
просто заменить php функции на javascript
`овские ни и
подправить немного, чтоб работало все
,
кода там всего на 7 строчек
.
Бля, выделенное достойно лурка, тебе самому не смешно.
Код:
<html>
<head>
<script>
function foo(r){
var m=r.match(/(?!{)([^{}])+(?=})/g);
for(i in m){
var w=m[i].split('|');
r=r.replace('{'+m[i]+'}', w[Math.floor(Math.random()*w.length)]);
}
return r;
}
</script>
</head>
<body>
<textarea cols="80" id="a">{Типо|Вроде} {этого|такого|того}? {-)|
}</textarea><br/>
<textarea cols="80" id="b"></textarea><br/>
<a href="#" onclick="document.getElementById('b').value=foo(document.getElementById('a').value);">Go</a>
</body>
</html>
~ $20
цитата
30/01/11 в 00:23
log
Спасибо, за скрипт, то что надо!
По +6 за все посты поставил!
P.S. Мне не смешно, я такой серьезный, что вообще не улыбаюсь
Новая тема
Ответить
Эта страница в полной версии