Подскажите плиз как можно замутить такую штуку Типа подается текст Наиболее активными являются жители крупных городов, молодежь, люди с высоким доходом. И на выходе надо получить Наиболее активными являются жители крупных городов, молодежь, люди с <a href="id....">высоким доходом.</a> Тобиш поставить ссылку на последние два слова.... как такое можно реализовать?
Есть идея Код (Text): $x = explode(' ',$str); echo count($x); а потом как то в цикле оторвать и заменить кусок, но как по мне это не катит...
Ем итак прошу заценить боян который сотворил, у кого какие мысли по поводу апдейта? PHP: $str = 'Компания Super Talent demo представила высокопроизводительные RAIDDrive'; $words = explode(' ',$str); $co = count($words); foreach ($words as $key => $word) { if($key == $co-2) echo '[url=site.com/blog/id]'; if($key == $co-1) echo $word; else echo $word.' '; if($key == $co-1) echo '[/url]'; }
во-первых, trim заюзай, так на всякий=) во-вторых, FOREACH всятаки надо юзать на ассоциативных массивах. ну, и в целом это наверное не самый производительный вариант.
На примерах типа "Вася любит мамбу и Свету", "На этом закончим. Следующий сюжет проанализируем из Дюма". Будет лагать - выделять "и Свету" вместо "мамбу и Свету".
конечно ужас... но работает) PHP: <?php $str = "Наиболее активными являются жители крупных городов, молодежь, люди с высоким доходом."; $str = trim($str); $exp = explode(" ", $str); $max = max(array_keys($exp)); $repl = $exp[$max-1]." ".$exp[$max]; // тут вообще кашмар echo preg_replace("/($repl)/i","<a href='url'>\\1</a>",$str); встречный вопрос... почему у меня не работает эта конструкция, оно ж должно выводить числа в обратном порядке, но у меня вообще ничего не выводит, что не так?? PHP: <?php for($i=10;$i<0;$i--) { echo $i; } хотел сделать ту хрень шо выше более функциональной остановился на этом... PHP: <?php $str = "Наиболее активными являются жители крупных городов, молодежь, люди с высоким доходом."; $i = 2; $str = trim($str); $exp = explode(" ", $str); $max = max(array_keys($exp)); for($i;$i<0;$i--) { $repl .= $exp[$max-$i]." "; } echo preg_replace("/($repl)/i","<a href='url'>\\1</a>",$str);