|
|
|
| пользуюсь таким регулярным выражением для преобразования url в ссылку
<?php
$text = preg_replace("/(http:\/\/)(\S+)/i","<a href=\"\\0\">\\0</a>",$text);
?>
|
хочется задать условие, что если url длиннее скажем 30 символов, то на выходе чтобы было бы так:
<?php
$text = preg_replace("/(http:\/\/)(\S+)/i","<a href=\"\\0\">первые 30 символов от url[...]</a>",$text);
?>
|
как бы отрезать эти первые 30 символов от \\0?
подскажите плиз! | |
|
|
|
|
|
|
|
для: irr
(30.03.2010 в 01:14)
| | Тут удобно воспользоваться функцией обратного вызова
<?php
$text = "А вот ссылка на http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=72906&page=1 тему";
$text = preg_replace_callback("/(http:\/\/)(\S+)/i", "urlreplace", $text);
echo $text;
function urlreplace($out)
{
if(strlen($out[0]) > 30)
return "<a href=\"{$out[0]}\">".substr($out[0], 0, 30)."...</a>";
else
return "<a href=\"{$out[0]}\">{$out[0]}</a>";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(30.03.2010 в 01:49)
| | спасибо, работает! то что надо | |
|
|
|