[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена текста
sfhunter
Добрый день!
Помогите разобраться с регулярными выражениями!
Есть массив,в котором есть текст и посреди этого текста встречается например это:
(See attached file: F9979D840.doc)
помогите сделать вместо этого текста ссылку,используя регулярное выражение...
А то читаю о этих регулярных выражениях -нашел только как начало определять,а как конец определить-понять не могу..И примеров таких нету...
Написал со статической ссылкой(сойдет как пример),но нужна динамическая ссылка,а выделить ее из большого и разнообразного текста-не могу.

$row[2] = str_replace('See attached file:','<a href="file.php?infile=F9979D840.doc">Файл</a>',$row[2]);



Спустя 10 минут, 16 секунд (30.08.2011 - 12:34) EvilDev написал(а):
/(file:.+\.[a-z]{1,3})/U

Как то так. Лучше выучи их, пригодится

Спустя 28 минут, 39 секунд (30.08.2011 - 13:03) sfhunter написал(а):
Чуток поправлю...
/( file:.+\.[a-z]{3,3})/U
Вот только возращает она :
file: F9979D840.doc

А можно ли как-то одновременно еще и от file: избавиться??
Я бы поучил,было бы понятно...

Спустя 1 час, 12 минут, 53 секунды (30.08.2011 - 14:16) grafnet написал(а):
<?php
$text = "See attached file: F9979D840.doc";
preg_match("/file:\s*(.+\.[a-z]{3,3})/u", $text, $link);
echo ereg_replace($link[0], "<a href='file.php?infile=".$link[1]."'>Файл</a>", $text);

Спустя 55 минут, 6 секунд (30.08.2011 - 15:11) sfhunter написал(а):
grafnet, Спасибо...
А еще у этой функции большие проблемы с кодировкой и из-за это она не всегда отрабатывает...
в win1251 -вообще отказывается работать,в uft-8 не всегда(так и не понял почему),буду разбираться.
Спасибо всем!

Спустя 49 минут, 47 секунд (30.08.2011 - 16:00) grafnet написал(а):
Попробуй так:
<?php
$text = "See attached file: F9979D840.doc";
preg_match("/See attached file:\s*(.+\.[a-z]{3,3})/ui", $text, $link);
echo str_replace($link[0], "<a href='file.php?infile=".$link[1]."'>Файл</a>", $text);

А, вообще, покажи пример, где не работает.

Спустя 16 часов, 59 минут, 33 секунды (31.08.2011 - 09:00) sfhunter написал(а):
Все заработало,спасибо...
Все лечится перезапуском php.

Спустя 1 минута, 57 секунд (31.08.2011 - 09:02) sfhunter написал(а):
Если не сложно,можете объяснить что такое
\s*(.+\.[a-z]{3,3}
А то как лесу-методом тыка грибы искать...

Спустя 1 час, 33 минуты, 41 секунда (31.08.2011 - 10:36) Invis1ble написал(а):
grafnet
Цитата
preg_match("/See attached file:\s*(.+\.[a-z]{3,3})/ui", $text, $link);
echo str_replace($link[0], "<a href='file.php?infile=".$link[1]."'>Файл</a>", $text);

preg_replace(), не? wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.