Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Аннонс новости и организация ссылки "Подробно..."
 
 автор: l-mariachi   (04.10.2006 в 19:57)   письмо автору
 
 

Ребята подскажите какими строковыми функциями и как можно сделать так, чтобы мини новости (новостная лента) на сайте вырезались не побуквенно, а пословно. Ну я имею в виду как сделать так чтобы Когда я в своем скрипте добавляю новости, в новостную ленту добавллось автоматически Первые слова, а потом там как у всех "подробнее..."
Никак не могу ничего придумать

   
 
 автор: Саня   (04.10.2006 в 20:11)   письмо автору
 
   для: l-mariachi   (04.10.2006 в 19:57)
 

Делайте explode() по пробелу, а затем выводите из массива нужное количество слов.

   
 
 автор: Trianon   (04.10.2006 в 20:26)   письмо автору
 
   для: l-mariachi   (04.10.2006 в 19:57)
 

<?
$q 
'Ребята подскажите какими строковыми функциями и как можно сделать так,
чтобы мини новости (новостная лента) на сайте вырезались не побуквенно,
а пословно. Ну я имею в виду как сделать так чтобы Когда я в своем скрипте
добавляю новости, в новостную ленту добавллось автоматически Первые слова,
а потом там как у всех "подробнее..."
Никак не могу ничего придумать'
;
;
$num 100;
$r preg_match("/^([\s\S]{1,$num})(?=([\s]|$))/"$q$r) && $r[2] ? ($r[1] .'... подробнее') : $q;
echo 
nl2br($r);
?>

   
 
 автор: l-mariachi   (04.10.2006 в 21:50)   письмо автору
 
   для: Trianon   (04.10.2006 в 20:26)
 

угу, а как расшифровывается /^([\s\S]{1,$num})(?=([\s]|$))/

   
 
 автор: Trianon   (04.10.2006 в 23:36)   письмо автору
 
   для: l-mariachi   (04.10.2006 в 21:50)
 

>угу, а как расшифровывается /^([\s\S]{1,$num})(?=([\s]|$))/
это шаблон регулярного выражения.
^ - от самого начала строки
( - первое сохраняемое выражение
[\s\S] - любой символ (дословно - пробельный либо непробельный символ)
{1, 100} - в количестве от одного до сотни (т.к. на этом этапе $num уже заменено на сотню)
) - первое выражение закончилось
(?= утверждение - проверка вперед
( - второе выражение
[\s] - пробельный символ
| - либо
$ - конец всей строки
) - второе выражение закончилось
) - утверждение закончилось.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования