|
|
|
| то есть, возможно ли сделать скрипт или, что-то, еще чтоб текст выводился до условного тэга, знака или еще чего. Как на вордпрес тэг more | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 12:20)
| | Возможно | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 12:20)
| | если я Вас правильно понял, то Вы хотите разбить вывод информации в браузер, краткое содержание и подробное. Правильно?
Если так, то можно сделать.
Всё зависит от того где хранится Ваша информация. | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 12:26)
| | это можно сделать вне зависимости от того где хранится информация :)
способы будут разные и только. | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 12:26)
| | у меня вывод инфы из базы идет вот так
<?
$str = "$post[text]";
$limit = 800;
if (strlen ($str) > $limit)
$str = substr ($str, 0, $limit-strlen (strrchr (substr ($str, 0, $limit), ' ')));
?>
|
но меня это не устраивает (не этично получается иногда), хочу сделать, так чтобы при добавлении материала в алминке (там у меня стоит тинимси), я ставил определеный тэг и информация на нужных страницах выводилась до этого тэга | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 12:41)
| | до вывода инфы разделить текст на две части explode и выводить сначала одну часть потом типа читать далее потом вторую часть как вариант | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 12:41)
| | оформите ссылку more так
<?php
$more = "<a href='?more=yes'>читать далее.</a>";
// и проверяйте наличие этого параметра
if(!$_GET['more']){
// выводите краткое содержание и переменную $more
}
else{
// выводите подробное содержание, вместо переменной $more можно следать ссылку "назад"
}
?>
|
это просто набросок...
А зачем переменная $post[text] в кавычках?
И если Вы храните в БД, то не проще ли делать поле для краткого содеражания и для полного? | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 13:30)
| | честно говоря не допер, в админке при заполнении что мне ставить в тинимси, без кавычек notice будет, можно и так $str = $post['text']; | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 13:33)
| | вот теперь я не понял, что означает тинимси?
приведите полностью свой код | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 13:50)
| | TinyMCE | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 13:33)
| | Вы бы сначала определились где РНР, а где тиниэмси... | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 13:30)
| | это просто набросок...
даже для просто наброска это выглядит ужасающе | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 12:41)
| | То что Вы напишите в форме ввода тиниэмси, самого тиниэмси мягко говоря не колышит (он выполняется на клиенте)
А вот на сервере куда попадает все что Вы написали "хавает" всю эту байду обработчик.
Он то и должен определять число символов до вашего тега (допустим [more])
$str=trim($_POST[text]);
$count=stripos($str,"[more]");
|
http://php.su/functions/?stripos
и записывать в базу в отдельное поле (например count) это число.
далее не забудьте избавиться от этого самого тега при выводе полной новости пользователю.
При выборке из базы краткой формы новости (или что там у Вас) берете часть текста соответствующую этому числу.
SELECT LEFT(full_news, count) FROM news WHERE id IN(список выводимых новостей);
|
[поправлено мной]
___
испавленому верить | |
|
|
|
|
|
|
|
для: Valick
(08.09.2010 в 14:16)
| | теперь допер, спасибо | |
|
|
|
|
|
|
|
для: scva
(08.09.2010 в 15:39)
| | изначально я думал избавляться от этого тега перед записью в базу, но с ним будет проще "выплевывать" текст обратно в тиниэмси при необходимости редактировать.
при таком раскладе по идее можно совсем обойтись без дополнительного поля count
SELECT LEFT(full_news, INSTR(full_news,'[more]')) FROM news WHERE id IN(список выводимых новостей);
|
только нужно будет автоматом добавлять [more] в конец каждого текста, на тот случай если этого тега текст не содержит, так как INSTR() вернет ноль если не найдет вхождения подстроки
___
все-таки лучше с отдельным полем...
эх.. мне бы Ваши проблемы :) я тут вторую неделю пытаюсь написать логику расстановки кораблей для морского боя... | |
|
|
|