| |
|
|
| | Видимо, просто не знаю какой-то чудо-функции=)
Нужно заменить в тексте все совпадения с маской (то есть заменить псевдо-теги [ url ] на ссылки). Но вот проблема - eregi_replace заменяет только последнее совпадение. Как быть? Сначала, что ли, их все посчитать, а потом в цикле менять? Это ж скрипту работы на полчаса=) Как это правильнее сделать? | |
| |
|
|
| |
|
|
| |
для: Киналь
(13.01.2006 в 09:51)
| | | Почему последнее? Здесь вроде все заменяет:
<?
$text = "Текст [url] содержащий [url] множество [url] тегов [url]";
echo eregi_replace("\[url\]","<a href=\"javascript: alert()\">url</a>",$text);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(13.01.2006 в 13:11)
| | | Ну, может, я не понимаю чего... Вот:
<?php
$msg="Yandex: [ url]http:/ya.ru[/url ] Google: [ url]http://google.ru[/url ]";
$msg = eregi_replace("(.*)\\[url\\]([^\s]*)\\[/url\\](.*)","\\1<a target=_blanc href=\\2>\\2</a>\\3",$msg);
|
Выодит
Yandex: [ url]http:/ya.ru[/url ] Google: <a target=_blanc href=http://google.ru>http://google.ru</a>
|
ЗЫ В тегах пробелы везде, чтобы форумный движок не обрабатывал. | |
| |
|
|
| |
|
|
| |
для: Киналь
(13.01.2006 в 17:29)
| | |
<?php
$msg = "Yandex: [ url]http://ya.ru[/url ] Google: [ url]http://google.ru[/url ]";
$msg = str_replace("[ url]","<a href=",$msg);
$msg = str_replace("[/url ]", ">GO!</a>", $msg);
echo $msg.'<br />';
?>
|
=)) | |
| |
|
|
| |
|
|
| |
для: Boss
(13.01.2006 в 18:15)
| | | Очень смешно... | |
| |
|
|
| |
|
|
| |
для: Киналь
(13.01.2006 в 17:29)
| | | Ой! ой! ой! :)
<?
$msg="Yandex: [ url ]http:/ya.ru[ /url ] Google: [ url ]http://google.ru[ /url ]";
echo $msg = preg_replace("/(\[url\])(.*)(\[\/url\])/iU","<a href=\"\${2}\">\${2}</a>",$msg);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(13.01.2006 в 18:17)
| | | Спасибо, попробую. | |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(13.01.2006 в 18:17)
| | | Все заработало, спасибо! | |
| |
|
|