|
Помогите обрезать строчку
|
| Автор |
Сообщение |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Сб, 27 Июн, 2009 21:03 Заголовок сообщения: Помогите обрезать строчку |
|
|
Уважаемые - смотрю у вас тут реально помогают - и не нубы за компами а знающие люди
помагите пожалуйста - вообщем нада обрезать пару строчек по количеству символов
(это скрипт - на главную страницу выводящий последние изменения на форуме - но постоянно таблицы рушит - мне обязательно нада обрезать а не сносить на некст строчку)
вот скрипт примерно так написан
<?php
$ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_topics WHERE intern<='".isinternboarduser($userID)."' ORDER BY lastdate DESC LIMIT 0,$maxlatesttopics");
$anz=mysql_num_rows($ergebnis);
if($anz) {
eval ("\$latesttopics_head = \"".gettemplate("testeggg")."\";");
echo $latesttopics_head;
$n=1;
while($ds=mysql_fetch_array($ergebnis)) {
if($n%2) {
$bg1=BG_1;
$bg2=BG_2;
}
else {
$bg1=BG_3;
$bg2=BG_4;
}
$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='• <a href="index.php?site=forum&board='.$ds[boardID].'"><b>'.getboardname($ds[boardID]).'</b></a>';
$topiclink=' <a href="index.php?site=forum_topic&topic='.$ds[topicID].'&type=ASC&page='.ceil(($ds['replys']+1)/$maxposts).'">'.clearfromtags($ds[topic]).'</a>';
$replys=$ds[replys];
eval ("\$latesttopics_content = \"".gettemplate("test1")."\";");
echo $latesttopics_content;
$n++;
}
eval ("\$latesttopics_foot = \"".gettemplate("test2")."\";");
echo $latesttopics_foot;
}
?>
я пробовал делать так -
<?php
$ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_topics WHERE intern<='".isinternboarduser($userID)."' ORDER BY lastdate DESC LIMIT 0,$maxlatesttopics");
$anz=mysql_num_rows($ergebnis);
if($anz) {
eval ("\$latesttopics_head = \"".gettemplate("testeggg")."\";");
echo $latesttopics_head;
$n=1;
$maxasdasd = 22;
$maxzsdzsd = 45;
while($ds=mysql_fetch_array($ergebnis)) {
if($n%2) {
$bg1=BG_1;
$bg2=BG_2;
}
else {
$bg1=BG_3;
$bg2=BG_4;
}
$dstopikk=clearfromtags($ds[topic]);
$dsboardik=getboardname($ds[boardID]);
if(strlen($dstopikk)>$maxasdasd) {
$dstopikk=substr($dstopikk, 0, $maxasdasd);
$dstopikk.='..';
}
if(strlen($dsboardik)>$maxzsdzsd) {
$dsboardik=substr($dsboardik, 0, $maxzsdzsd);
$dsboardik.='..';
}
$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='<a href="board/'.$ds[boardID].'"><b>'.$dsboardik.'</b></a>';
$topiclink=' <a href="topic/'.$ds[topicID].'">'.$dstopikk.'</a>';
$replys=$ds[replys];
eval ("\$latesttopics_content = \"".gettemplate("test1")."\";");
echo $latesttopics_content;
$n++;
}
eval ("\$latesttopics_foot = \"".gettemplate("test2")."\";");
echo $latesttopics_foot;
}
?>
но так слишком запарно - нада около 100 страниц переписывать
$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='• <a href="index.php?site=forum&board='.$ds[boardID].'"><b>'.getboardname($ds[boardID]).'</b></a>';
$topiclink=' <a href="index.php?site=forum_topic&topic='.$ds[topicID].'&type=ASC&page='.ceil(($ds['replys']+1)/$maxposts).'">'.clearfromtags($ds[topic]).'</a>';
и эти 3 строчки везде разные total kamanderom не вариант
нет ли более простого способа ???
заранее спасибо _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
Dis Хостинг — это наше всё!


Зарегистрирован: 23.07.2007 Сообщения: 224 Откуда: Российская Федерация, Белгород 13935 
|
Добавлено: Вс, 28 Июн, 2009 01:34 Заголовок сообщения: |
|
|
CTPATOTAHKEP
Массивный кусок кода может быть удобнее читать в отдельном файле, не считаете?
По поводу проблемы - попробуйте обработать через substr. Но, на мой взгляд, проще найти готовое решение для форума (если оный не является самописным), нежели изобретать что-то своё, а потом исправлять ошибки. _________________ "Псих!", - подумал Ёжик
"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Вс, 28 Июн, 2009 09:58 Заголовок сообщения: |
|
|
| Dis писал(а): | CTPATOTAHKEP
Массивный кусок кода может быть удобнее читать в отдельном файле, не считаете?
По поводу проблемы - попробуйте обработать через substr. Но, на мой взгляд, проще найти готовое решение для форума (если оный не является самописным), нежели изобретать что-то своё, а потом исправлять ошибки. |
Ну как бы это и есть отдельный файл - инклудовский с индекса
пришлось нтмл внедрять т.к уникальный кусок скрипта и нет смысла его на шабик ссылать
готового решения не смог найти хоть форум и не самописный (php bb)
но он уже настолько с сайтом связан и переделан что форумом трудно назвать
и чёто не очень понял намёка substr. _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Вс, 28 Июн, 2009 10:11 Заголовок сообщения: |
|
|
вот наглядно что надо убить
скрипт данной на рисунке таблички такой
почемуто не всё режеться не понимаю почему
<?php
if($rubricID) $only = "AND rubricID='".$rubricID."'";
else $only='';
$ergebnis=safe_query("SELECT * FROM ".PREFIX."news WHERE published='1' ".$only." AND intern<=".isclanmember($userID)." ORDER BY date DESC LIMIT 0,".$maxheadlines);
echo'
<table width="179" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/table/TOP_levo.gif" width="2" height="21"></td>
<td background="images/table/TOP_title.gif" width="160" height="21"> • Последние новости</td>
<td background="images/table/TOP_right.gif" width="17" height="21"></td>
</tr>
</table>
<table width="179" rollspan="0" collspan="0"cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#bfbfbf" width="1"></TD>
<td>
<table width="174" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#ffffff" width="174" height="21" valign="center">
<table width="174" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
';
while($ds=mysql_fetch_array($ergebnis)) {
$date=date("d.m", $ds[date]);
$time=date("H:i", $ds[date]);
if(!isset($lang)) $lang=$ds[lang1];
if($lang==$ds[lang1]) {
if($ds[headline1]) $headlines = $ds[headline1];
else $headlines = $ds[headline2];
}
else {
if($ds[headline2]) $headlines = $ds[headline2];
else $headlines = $ds[headline1];
}
$news_id=$ds[newsID];
if(strlen($headlines)>$maxheadlinechars) {
$headlines=substr($headlines, 0, $maxheadlinechars);
$headlines.='..';
}
$headlines=clearfromtags($headlines);
$languages=cleartext('[flag]'.$ds[lang1].'[/flag]');
if($ds[headline2]) $language.=cleartext('[flag]'.$ds[lang2].'[/flag]');
eval ("\$headlines = \"".gettemplate("headlines")."\";");
echo $headlines;
}
echo'
</td>
</tr>
</table>
</td>
</tr>
</table>
<td background="images/table/Midle_right.gif" width="4"></td>
</tr>
</table>
<table width="179" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/table/finishline_left.gif" width="4" height="4"></td>
<td background="images/table/finishline_midle.gif" width="171" height="4"></td>
<td background="images/table/finishline_right.gif" width="4" height="4"></td>
</tr>
</table>
';
unset($rubricID);
?>
_________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Вс, 28 Июн, 2009 10:17 Заголовок сообщения: |
|
|
ох люди =0
нашёл решение - как всегда всё было елементарно 8(
офф топ
вот решение
if (strlen($headlines) > 10) $headlines = substr($headlines, 0, 10)."..."; _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
DEXIF #!/bin/bash


Зарегистрирован: 27.09.2006 Сообщения: 919 Откуда: Минск 49930 
|
Добавлено: Вс, 28 Июн, 2009 12:37 Заголовок сообщения: |
|
|
особенно "хорошо" данный метод отлавливает строки с 11 символами... и добавляет ещё 3 символа _________________
S|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вс, 28 Июн, 2009 12:41 Заголовок сообщения: |
|
|
DEXIF
если только он не использует моноширный шрифт - точки уже букв..) _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
DEXIF #!/bin/bash


Зарегистрирован: 27.09.2006 Сообщения: 919 Откуда: Минск 49930 
|
Добавлено: Вс, 28 Июн, 2009 13:08 Заголовок сообщения: |
|
|
ну я вообщет говорил о том что нет смысла обрезать одну букву а зачастую и две... даже если точки уже букв... они(три точки) не будут уже 1 буквы... _________________
S|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вс, 28 Июн, 2009 13:42 Заголовок сообщения: |
|
|
DEXIF
добавление +1 символа вместо этих точек не сделает результат сколь-либо более удобным.. а вообще - ему бы title покурить.. _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Пн, 29 Июн, 2009 07:17 Заголовок сообщения: |
|
|
Да просто с некоторыми файлами была проблемма- почему тут и писал
хател решение для всех файлов одинаковое иметь
проблемма в том что переменная не была задана
было
$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.clearfromtags($ds[headline1]).'</a>';
стало
$nazvtitla = clearfromtags($ds[headline1]);
if(strlen($nazvtitla)>50) {
$nazvtitla=substr($nazvtitla, 0, 50);
$nazvtitla.='..';
}
$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.$nazvtitla.'</a>';
проблемма в том что портал собираеться из кучи всяких скриптов - и везде свой стиль написание - вчера весь день убил только на обрезание заголовков и прочей хрени
пришлось всёже всё вручную делать _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Пн, 29 Июн, 2009 07:35 Заголовок сообщения: |
|
|
| DEXIF писал(а): | | ну я вообщет говорил о том что нет смысла обрезать одну букву а зачастую и две... даже если точки уже букв... они(три точки) не будут уже 1 буквы... |
да нет смысла иногда обрезать 1 а то и 2 буквы
ну а может подскажеш другую идею ?
я вот на эту фигню уже больше недели убил - ищу наиболее преемлимый вариант - перебрал кучу всяких решений
в итоге самый простой оказался самым хорошим
обрезание по славам - антивариант
а точки это всеголиш для эстетики а не потому что они там нужны _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Пн, 29 Июн, 2009 07:45 Заголовок сообщения: |
|
|
и ваще чуствую себя последним нубом . мозг чтоли умер =(
одно утешение - мож это комунить понадобиться -и он найдёт тут решение
а я пойду дальше влачить своё жалкое существование =) _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
Alek$ 11 1110 1000


Зарегистрирован: 24.11.2007 Сообщения: 1136 Откуда: Новосибирск 26695 
|
Добавлено: Вт, 30 Июн, 2009 04:56 Заголовок сообщения: |
|
|
CTPATOTAHKEP
не сочтите мнея занудой, но перед отправкой сообщения стоит проверять орфографию - это значительно добавит ценности вашим сообщениям. _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Вс, 05 Июл, 2009 10:47 Заголовок сообщения: |
|
|
видетели я не в Росии живу - и очень редко на руском говорю
ещё реже пишу
я стараюсь писать правильно насколько помню
видимо забываю язык _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
CTPATOTAHKEP
Зарегистрирован: 27.06.2009 Сообщения: 19
1018 
|
Добавлено: Вс, 05 Июл, 2009 10:50 Заголовок сообщения: |
|
|
Уважаемые нужна опять помощь - под мазилой почемуто не работает скрипт
что только не перепробывал может поможете на данном примере
$nazvtitla = getinput($ds[headline1]);
if(strlen($nazvtitla)>50) {
$nazvtitla=substr($nazvtitla, 0, 50);
$nazvtitla.='..';
}
$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.$nazvtitla.'</a>'; _________________ пишем- перепишем |
|
| Вернуться к началу |
|
 |
|