2016-06-21 5 views
0

Я использую этот preg_replace изменить текст Ссылку на Clickable:PHP Текст Clickable

echo preg_replace("~(https?://(?:www\.)?[^\s]+)~i","<a href='$1'>$1</a>",$x); 

работает нормально, если я хочу конвертировать: lorem ipsum https://domain.com/xxx в lorem ipsum <a href='https://domain.com/xxx'>https://domain.com/xxx</a>

Но у меня есть другая цель здесь, я хочу, чтобы преобразовать : lorem ipsum https://domain.com/xxx к <a href='https://domain.com/xxx'>lorem ipsum </a>

+0

Как узнать, будет ли его одно слово текста или 10, является ли вся строка, которую вы будете иметь каждый раз? вам нужно дать еще несколько демонов для пользователей. –

+0

@Dagon его всегда 1 ссылка в 1 строке –

ответ

1

Я предлагаю preg_split — Split string by a regular expression

<?php 

    $str=" lorem ipsum https://domain.com/xxx"; 

    $split= preg_split("#(https\:\/\/)|(http\:\/\/)#",$str,-1,PREG_SPLIT_DELIM_CAPTURE); //split on https:// or http:// 

    echo '<a href="'.$split[1].$split[2].'">'.trim($split[0]).'</a>'; //glue the 3 pieces back together 

    //<a href="https://domain.com/xxx">lorem ipsum</a> 

?> 
Смежные вопросы