Вопрос про PHP

A6
На сайте с 19.10.2007
Offline
25
624

Надо в середину предложения(т.е. между первым и последним словом) случайным образом(т.е.к примеру, сразу после первого,через слово после первого, через 2 слова и т.д.) вставлять одно и тоже словосочетание один или несколько раз. Подскажите,пожалуйста, может есть какая-нибуть готовая пользовательская функция(искал-не нашел:gm:) или впринципе,как это можно реализовать?

I
На сайте с 29.04.2006
Offline
135
#1

После каждого слова?

Ну например вот так:


<?
$content=explode(" ",$text);
foreach($content as $temp){
echo $temp." слово";
}
?>
DyaDya
На сайте с 11.04.2007
Offline
147
#2
Alexan666:
Надо в середину предложения(т.е. между первым и последним словом) случайным образом(т.е.к примеру, сразу после первого,через слово после первого, через 2 слова и т.д.) вставлять одно и тоже словосочетание один или несколько раз. Подскажите,пожалуйста, может есть какая-нибуть готовая пользовательская функция(искал-не нашел😒) или впринципе,как это можно реализовать?

Вы собираетесь написать очередной генератор дорвеев? ;)

Ну, например,

split(" ", $predlozhenie);

вам поможет разбить предложение на составные части. А уж куда вы захотите вставить ключевое словосочетание от вас зависит. В общем, нужно php чуток знать и определиться с логикой.

И, например, о падеже вставляемых ключевиков у вас нет желания позаботиться?

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
dkameleon
На сайте с 09.12.2005
Offline
386
#3

к примеру так:


$words = explode(" ", $text);
$words[rand(0, count($words) - 2)] .= $phrase;
$text = implode(" ", $words);
Дизайн интерьера (http://balabukha.com/)
Dreammaker
На сайте с 20.04.2006
Offline
569
#4

Вот тоже на коленке сваял свою версию доргенератора :) Не учитывает, что есть предложения с знаками вопроса, восклицательными знаками и т.д.


function dor_generator($string, $push, $random = 1) {

$array = explode ('.', $string);

foreach ($array as $key => $value ) {

if ( trim($value) != '' ) {

$arraychik = explode(' ', $value);

$count = count($arraychik);

$rand = rand(0, $count - 1);

$rand2 = rand(1, $random);

$arraychik[$rand] = $arraychik[$rand] . str_repeat(' ' . $push . ' ', $rand2);

$array[$key] = implode(' ', $arraychik);

}

}

return implode('.', $array);
}


$string = 'Здравствуй, Дедушка мороз, борода из ваты. Ты подарки нам принёс.';

$push = 'вставка';

$random = 3;

echo dor_generator($string, $push, $random);

Update: экспериментальную версию вставил, поправил :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий