|
|
|
| Есть большой текст, мне нужно найти в нем определенное слово и вывести небольшой кусок этого текста как раз в том месте где это слово встречается, а само слово обернуть в тэг <b>.
Например текст:
$text = "Южный Треугольник притягивает тропический год – у таких объектов рукава столь
фрагментарны и обрывочны, что их уже нельзя назвать спиральными. Атомное время,
сублимиpуя с повеpхности ядpа кометы, ищет центральный керн - это солнечное затмение
предсказал ионянам Фалес Милетский. Пpотопланетное облако колеблет апогей, выслеживая
яркие, броские образования. Небесная сфера меняет часовой угол – у таких объектов рукава
столь фрагментарны и обрывочны, что их уже нельзя назвать спиральными.";
|
Берем слово "керн" и с помощью скрипта нам нужно что бы получилась строка:
$string = "...сублимиpуя с повеpхности ядpа кометы, ищет центральный <b>керн</b> - это солнечное затмение... "
|
| |
|
|
|
|
|
|
|
для: Satori
(07.06.2008 в 16:02)
| | Регулярные выражения необходимы. | |
|
|
|
|
|
|
|
для: Satori
(07.06.2008 в 16:02)
| | str_pos(), substr() | |
|
|
|
|
|
|
|
для: Satori
(07.06.2008 в 16:02)
| | Как-то так
<?php
$text = "Южный Треугольник притягивает тропический год – у таких объектов рукава столь
фрагментарны и обрывочны, что их уже нельзя назвать спиральными. Атомное время,
сублимиpуя с повеpхности ядpа кометы, ищет центральный керн - это солнечное затмение
предсказал ионянам Фалес Милетский. Пpотопланетное облако колеблет апогей, выслеживая
яркие, броские образования. Небесная сфера меняет часовой угол – у таких объектов рукава
столь фрагментарны и обрывочны, что их уже нельзя назвать спиральными.";
preg_match ("#(\S+\s+){1,3}керн(\s+\S+){1,6}#is", $text, $out);
echo '...'.$out[0].'...';
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(07.06.2008 в 16:51)
| | лучше как-то так:
#\b(.{,10}керн.{,10})\b#is
|
| |
|
|
|
|
|
|
|
для: ЯR
(08.06.2008 в 19:10)
| | >{,10}
Вы имели ввиду {0,10} ?. | |
|
|
|
|
|
|
|
для: AcidTrash
(08.06.2008 в 22:54)
| | ну да, а разве это ни одно и то же? | |
|
|
|