2013-09-12 4 views
0

У меня есть 2 переменные/строки ниже:PHP Поиск и замена строки Случайным

$article = ('Perfume is a mixture of fragrant word1 and aroma complexes, which can be applied to the human body, animals, word2, objects, and living spaces in order to give off a pleasant word3.'); 

$words = '{word1|word2|word3|word4|word5}'; 

Что мне нужно сделать, это найти $ статью для любых слов в $ слова и если найдены случайно заменить слово найдено в $ с случайным выбранным словом из слова $.

Как я могу это сделать, пожалуйста?

+0

Используйте массив, чтобы случайным образом выбрать из него значение. –

+0

$ слова должны быть в текущем формате – Satch3000

+0

$ слова должны быть массивом вместо строки –

ответ

3

Если вам нужно хранить все в одном формате;

$article = ('Perfume is a mixture of fragrant word1 and aroma complexes, which can be applied to the human body, animals, word2, objects, and living spaces in order to give off a pleasant word3.'); 
$words = '{word1|word2|word3|word4|word5}'; 

$words = explode('|', str_replace(array('{', '}'), '', $words)); 

echo str_replace($words, $words[array_rand($words)], $article); 
0

Создайте массив из $ слов. Получите случайный ключ массива и str_replace статью $ со случайно выбранными словами.

$words = array('word1', 'word2', 'word3', 'word4'); 
$randkeyA = array_rand($words); 
$randkeyB = array_rand($words); 
echo str_replace($words[$randkeyA], $words[$randkeyB], $article); 
+0

Это не работает, потому что вы заменяете $ words [$ randkey] словами $ words [$ randkey], поэтому заменяя одно и то же слово на себя – olimortimer

+0

Лол, ты прав, отредактировал мой кусок кода. Это все еще возможно, хотя слово заменено одним и тем же словом. Ваш ответ лучше :) – davey

+0

Сортировано;) Однако OP говорит, что «$ words должно быть в текущем формате» – olimortimer

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