|
|
|
|
|
для: AcidTrash
(14.07.2008 в 22:41)
| | А как ты одним реплэйсом заменишь все (неопределенное заранее количество в не определенном месте, судя по вопросу) вхождения http? | |
|
|
|
|
|
|
|
для: UnFast
(14.07.2008 в 20:17)
| | >Теперь правильно работает...
Интересно, где же такие ссылки то есть? Начиналось то все как я понимаю с обычного парсинга и разбора html-страниц, где ссылки реальные и как вы потом указали, обязательно должны начинаться с http://.
Первоначальной регулярки от sms-send вполне хватило бы.
P.S. ТЗ надо изначально со всеми аспектами составлять. | |
|
|
|
|
|
|
|
для: sms-send
(14.07.2008 в 19:45)
| | - | |
|
|
|
|
|
|
|
для: GeorgeIV
(14.07.2008 в 18:58)
| | to GeorgeIV
Вообщето имелось ввиду заменить, а не выбрать, для начала.
sms-send заметил правильно, что для замены существует preg_replace. | |
|
|
|
|
|
|
|
для: sms-send
(14.07.2008 в 19:45)
| | Теперь правильно работает...
Респект тебе sms-send. | |
|
|
|
|
|
|
|
для: UnFast
(14.07.2008 в 19:39)
| | Угловые скобки и так исключены, а эквиваленты то зачем исключать?
Вполне легальная ссылка:
http://site.ru/?var1=123>
UPD:
Хотя и правда, обрабатываем ведь html код...
~http://(?:[,.!@#№*$%()_+/?=\\-;:\\~\\dA-Za-zА-Яа-яЁё]|&(?!lt;|gt;))+~
|
| |
|
|
|
|
|
|
|
для: sms-send
(14.07.2008 в 18:40)
| | Почти то.. Только мне нужно, исключить из замены символ < или > (> <)
и сами символы и их html эквиваленты..
например http://site.ru/>
то меняем на <a href="http://site.ru/">http://site.ru/</a>> | |
|
|
|
|
|
|
|
для: GeorgeIV
(14.07.2008 в 18:58)
| | Эмм.. а чем этот вариант функционально отличается от моего первого варианта, кроме обязательного наличия пробельных символов в конце ссылки?)) Которые, кстати, в эту ссылку попадут. И зачем так вымудряться "через зад", если существует preg_replace ?)
+ строку всё-таки сначала нужно обработать htmlspecialchars, иначе будут проблемы как минимум с символом "&" | |
|
|
|
|
|
|
|
для: sms-send
(14.07.2008 в 18:40)
| |
<?php
$var_text = " text new link1 = http://site.ru ".
"text new link2 = http://php.net ".
"text new link3 = http://softtime.ru/forum/addpost.php?id=2&theme=2 ";
$pattern = "/(http:\/\/\S*\s+)/";
$count = preg_match_all($pattern, $var_text, $mucho);
for ($i=0; $i < $count; $i++)
$var_text = str_replace($mucho[0][$i], '<a href ="'.$mucho[0][$i].'">'.$mucho[0][$i].'</a>', $var_text);
echo $var_text;
?>
| Немного через зад, но рабочий день закончился, доделать некогда. | |
|
|
|
|
|
|
|
для: UnFast
(14.07.2008 в 18:26)
| | \\S поменять на [,.!@#№*$%&()_+/?=\\-;:\\~\\dA-Za-zА-Яа-яЁё] | |
|
|
|
|