|
|
|
|
|
для: Trianon
(02.12.2009 в 16:36)
| | Ему статус не позволяет писать проще | |
|
|
|
|
|
|
|
для: mihdan
(02.12.2009 в 16:26)
| | А вот это обязательно надо было - текст хелпер-функции в строковый литерал совать?
Его ж не прочтешь нормально!
Вот зачем этот выпендреж на ровном месте? | |
|
|
|
|
|
|
|
для: mihdan
(30.11.2009 в 16:55)
| | Чтобы не обрезать теги
<?php
function breakword ($txt,$len,$delim='\s;,.!?:#') {
$txt = preg_replace_callback ("#(</?[a-z]+(?:>|\s[^>]*>)|[^<]+)#mi"
,create_function('$a'
,'static $len = '.$len.';'
.'$len1 = $len-1;'
.'$delim = \''.str_replace("#","\\#",$delim).'\';'
.'if ("<" == $a[0]{0}) return $a[0];'
.'if ($len<=0) return "";'
.'$res = preg_split("#(.{0,$len1}+(?=[$delim]))|(.{0,$len}[^$delim]*)#ms",$a[0],2,PREG_SPLIT_DELIM_CAPTURE);'
.'if ($res[1]) { $len -= strlen($res[1])+1; $res = $res[1];}'
.'else { $len -= strlen($res[2]); $res = $res[2];}'
.'$res = rtrim($res);/*preg_replace("#[$delim]+$#m","",$res);*/'
.'return $res;')
,$txt);
while (preg_match("#<([a-z]+)[^>]*>\s*</\\1>#mi",$txt)) {
$txt = preg_replace("#<([a-z]+)[^>]*>\s*</\\1>#mi","",$txt);
}
return $txt;
}
?>
|
| |
|
|
|
|
|
|
|
для: Wyfinger
(28.11.2009 в 03:03)
| |
<?php
function cutStr($str, $lenght = 100) {
$str = strip_tags($str);
if (strlen($str) >= $lenght) {
$wrap = wordwrap($str, $lenght, "~");
$str_cut = substr($wrap, 0, strpos($wrap, "~"));
$str_cut .= ' ...';
return $str_cut;
} else {
$str_cut = $str . ' ...';
return $str_cut;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(28.11.2009 в 09:04)
| | Это мне понравилось, буду в превью новости выводить часть текста без форматирования. | |
|
|
|
|
|
|
|
для: sim5
(29.11.2009 в 12:15)
| | Ну да, не очень кчемный :) Но факт есть факт - визивиги его именно так и генерят зачастую. | |
|
|
|
|
|
|
|
для: Николай2357
(29.11.2009 в 11:34)
| | А, вы о стыках тега и текста. Валидный, но некчемный ) | |
|
|
|
|
|
|
|
для: sim5
(29.11.2009 в 11:02)
| | О чем спорите то, способов то много, можно просто подправить рег. выражение добавить в шаблон и другие символы... :) | |
|
|
|
|
|
|
|
для: sim5
(29.11.2009 в 11:02)
| | Ну что Вы такое говорите... Какой разорванный тег? Или Вы назовете этод код невалидным?
<p style="color:red">простой текст простой текст</p>простой текст<div>простой текст</div>простой текст <strong>простой текст</strong>
|
А именно он будет обработан криво strip_tags() в чистом виде, применительно к данной задаче. И это не следствие никакое. И даже не болезнь. И в лечении не нуждается. Это нормальный, валидный код, который нужно подобающим образом обработать и вывести... | |
|
|
|
|
|
|
|
для: Николай2357
(29.11.2009 в 10:59)
| | Что вы говорите?! Даже и не знал, что "разорванный" тег брвузер примет за проблел. Акститесь, Николай :)
Эффективным лечением может быть только одно лечение, когда лечится не следствие, а причина. Мне больше добавить нечего. | |
|
|
|
|