Усекать URL-адрес, игнорируя теги DIVPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Усекать URL-адрес, игнорируя теги DIV

Сообщение Anonymous »

Мы используем следующий код для отображения значения в выходных данных страницы сайта Wordpress. Однако иногда вывод оказывается слишком длинным и не помещается в установленный для него блок, поэтому мы хотели бы его обрезать.

Код: Выделить всё

    $markup = str_replace('%%', get_post_meta($post_id, '_sf_submission_field_'.get_the_ID(), true), htmlspecialchars_decode(get_post_meta(get_the_ID(), 'markup', true)));

$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $markup);
$ret = ' ' . $text;
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1[url=\]\\2[/url]", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1[url=\]\\2[/url]", $ret);
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1[url=\]\\2@\\3[/url]", $ret);
$ret = substr($ret, 1);

echo $ret;
Использовать substr следующим образом: $ret = substr($ret, 0, 30); было бы здорово, однако часть входной строки имеет стиль теги div и другой текст, который нельзя обрезать. Итак, мой вопрос заключается в том, как я могу обрезать ТОЛЬКО ту часть строки, в которой есть URL-адрес... и, в свою очередь, не обрезать сам href, поскольку он все равно должен быть кликабельной ссылкой.
Вот пример входной строки:

Код: Выделить всё

[i][/i] http://www.stackoverflow.com/reallylongurl
... Я бы хотел, чтобы только http://www.stackoverflow.com/reallylongurl был усечен до www.stackoverfl ...
например, он должен оставаться доступным для кликов, как и исходный необрезанный URL-адрес.

Большое спасибо за ваши предложения!

Подробнее здесь: https://stackoverflow.com/questions/253 ... g-div-tags
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»