|
|
|
| Здравствуйте, форумчане! Имеется код, заменяющий http://site(ссылка) на <a href="http://site">ссылка</a>:
<code><?
$find[]="/http\:\/\/(.+?)\((.+?)\)/si";
$replacement[]="<a href=\"http://$1\">$2</a>";
$text=preg_replace($find,$replacement,$text);
?></code>
можно ли как-нибудь изменить так, чтобы http://site(ссылка_на_сайт) менялось на <a href="http://site">ссылка на сайт</a> (т. е. в тексте ссылки "_" заменить на пробелы)? | |
|
|
|
|
|
|
|
для: amigo62
(02.11.2007 в 13:01)
| | Типа такого
<?
$text="http://site.ru(сайт_ссылка)";
$find[]="/http\:\/\/(.+?)\((.+?)\)/si";
$text=str_replace("_"," ",$text);
$replacement[]="<a href=\"http://$1\">$2</a>";
$text=preg_replace($find,$replacement,$text);
print $text;
?>
|
| |
|
|
|
|
|
|
|
для: amigo62
(02.11.2007 в 13:01)
| | ещё можно применить модификатор "e"
<?
$find[] = "/http\:\/\/(.+?)\((.+?)\)/sie" ;
$replacement[] = "'<a href=\"http://\$1\">' . str_replace('_', ' ', '\$2') . '</a>'" ;
echo $text = preg_replace($find, $replacement, 'site.ruhttp://site(ссылка_на_сайт)') ;
?>
|
| |
|
|
|
|
|
|
|
для: EXP
(02.11.2007 в 16:48)
| | Faraon, вот в том -то и дело, что $text может содержать кроме ссылки массу всякой всячины, в т. ч. и символы "_", которые не требуют замены... EXP, Ваш вариант подходит=) Всем спасибо за ответы) | |
|
|
|