Forum Webscript.Ru
Программирование => PHP => Тема начата: Hong от 21 Марта 2005, 20:15:05
-
Привет всем.
Помогите пожалуйста совтавить регулярное выражение, которое я потом смогу применить на пхп.
Есть текст, надо чтобы все линки были заменены примерно вот таким образом.
Первоначальный текст:
Text: Osnabrück, Tel: 000000, Fax: 000000,
E-Mail: TEST@TE-TE.Test.com and
test@test.de
Stadt Osnabrück
http://www.test1.de/index3.php and
http://www.test2.de and
http://www.test3.de?variable=vor&variable2=vor and
http://www.test4.de?variable=vor and
http://test5.subdomain.de and
http://test6.de?variable=yes&weiter
...
Естественно текст всегда разный и могут быть разные вариации линка. Длинные линки должны приведены к нормальной короткой форме, как показано внизу.
Что надо получить:
Text: Osnabrück, Tel: 000000, Fax: 000000,
E-Mail: TEST@TE-TE.Test.com and
test@test.de
Stadt Osnabrück
http://www.test1.de and
http://www.test2.de and
http://www.test3.de and
http://www.test4.de?variable=vor and
http://test5.subdomain.de and
http://test6.de
...
Cпасибо.
Cu.
-
ну, начинай составлять
-
Вот что то уже нашол но не совсем правильно работает. Первая ошибка с первым имайлом нет пробела, и потом неправильно переводятся 1,2,5,6 линки.
function change_string($str)
{
$str = trim($str);
$str = htmlspecialchars($str);
$str = preg_replace(\'/\\s([^\\s]+\\@[^\\s]+\\.[^\\s]+)\\s/i\',\'$1\',$str);
$str = preg_replace(\'=([^\\s]*)(http://www.|http://)(([^?]*)[^\\s]*)=\',\'\\\\2\\\\4\',$str);
return $str;
}
Кто нибудь может исправить.
THX.
Cu.