Кто подскажет. Вот есть такая тема, типа новости. Принято, когда выводишь список новостей, выводлиь первые несколько сотен символов, а потом что-нить вроде кнопочки "подробнее..." Так вот в чем проблема. Как бы так сделать чтобы на место обрыва не попал какой-нить хтмл тэг или, не дай бог, картинка. уж очень будет красиво: Текст текст тексттексттексттексттексттексттексттексттексттекст <img src='/data/i.... (подробнее...) так вот, помогите, плиз, если можно с регулярными выражениями.. как бы так сделать, чтобы удалить все теги хтмл, теги картинок вместе с их содержими, и может я что еще забыл. Заранее спасибо
просто чудная функция! но все равно надо регулярные выражения примутить... Тогда такой вопрос великим гуру : Есть определенный сайт, с определенной совершенно тематикой. Есть куски контента (так будем называть слова и выражения) которые надо будет по всему контенту поменять (типа "самый лучший сайти пхп" поменять на <a href='http://php.ru'> "самый лучший сайти пхп"</a> или непечатные символы перехода строки поменять на <br>). Вот. И набор таких кусков контента известен и может слегка изменяться. Так вот меня осенило. Так почему же не оставлять все как есть, а уже сгенерированный контент не подвергнуть такой своеобразной обработке... если кто может написать кусочек из 2х, например, замен, напишите, ну а если нет, подскажите какой функцией пользоваться. Что-нить типа preg_replace()?
PHP: <?php $output = 'Куча букаф.'; $output = nl2br($output); // \r\n (перевод с языка Гур: перенос строки) -> <br /> $output = str_replace( array( // что меняем 'самый лучший сайти пхп', 'самые голые бабы' ), array( // на что меняем '<a href="http://php.ru">"самый лучший сайти пхп"</a>' '<a href="http://golyebabyeveryday.ru">"самые голые бабы"</a>' ), $output ); ?>
ShamahN Порой удобнее пользоваться строковыми функциями. Но у меня вывод короткого текста примерно так: PHP: <? function shortext($input) { $output=strip_tags($input); //Убираем теги if(strlen($input)>128) {$output=($output,0,128); $output.='...';} //Обрезаем строку до 128 символов и подставляем в конце многоточие $output=ln2br($output); //Преобразуем переносы в <br> $output=preg_replace("*www.site.ru*",'<a href="http://www.site.ru">www.site.ru</a>',$output); //Делаем адрес нашего сайта ссылкой с помощью регурялки return($output); }
Тут нет регулярных выражений. Когда получаешь примеры и не можешь их понять, иди в мануал и читай описание функций, а не ставь жеманные смайлики.
я знаю что там нет регулярных выражений, и нечего меня никуда посылать! Если бы ты внимательно читал, я пытался свести решение к решению с использованием регулярных выражений и был немного удивлен что достаточно удобно можно обойтись без них.
[vs] Вот, замечательно! Теперь надо что-нить типа str_replace'e чтобы наборы значений можно было, но это я найду... всем спасибо, тема закрыта