
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Я новичок, дошел до регулярных выражений, в частности поиск и замена в тексте!
Суть такая, есть Пост текст и пытаюсь сделать все внутреннее ссылки обрамлены тегом А $text = $_POST['text']; $text =preg_replace("/(http:\/\/[^\s]+)/", "<a href='$1' target='_blank'>$1</a>",$text ); Все до чего я дошел))) Было бы интересно чтоб не только в ссылку, а если ссылка на картинку, то вместо тега А бил ИМГ, Может ктото знает как такое сделать? Мне чисто для обучения))) В гугле толкового не нашел, но вполне возможно что не то искал))) -------------------- |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
А как ты узнаешь на что ссылается ссылка? |
||
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
По окончанию... если ссылка на картинку то по любому будет окончание .jpg .png .JPG .jpeg ну как там, и тому подобное))) Но Как такую проверку организовать, или отдельно нужно писать проверку? а ссылки на страницы сайтов, или .php .html ну или вообще никакой)
-------------------- |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
Переделай регулярку чтоб ловила расширения файлов. |
||
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Текст нужно будет два раза пропустить через preg_replace?
или возможно вписать условие какой тег подставлять? -------------------- |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
можно использовать preg_replace_callback |
||
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
dron4ik
держи $text = 'text http://static.php.net/www.php.net/images/php_snow_2008.gif |
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Я Пока гуглил за меня все сделали))) Спасибо))) Проверил) Простые ссылки работают на ура) но вод к примеру http://vkontakte.ru/feed?section=comments уже не срабатывает, из-за окончания))) Но это я уже сам добью) Спасибо)
![]() -------------------- |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
Нет, я там в регулярке упустил знак "=", "?" и "&". Исправь '#https?://[a-z\d\._/~%\?&=-]+(?:\.(jpe?g|png|gif))?(?:\s|$)#isU' |
||
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Я в самый конец добавил /? потому что ссылки кончающийся на слеш он не видел! Это правильно?)
-------------------- |
![]() |
|||
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Угу. |
||
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Спасибо за помощь))) Теперь буду раскуривать как это сделано, и как можно улучшить и модернизировать)))
-------------------- |
![]() |
|||
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Можно сократить на несколько символов :) '#https?://[\w./~%?&=-]+(?:\.(jpe?g|png|gif))?(?:\s|$)#isU' |
||
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9630 Пользователь №: 26630 На форуме: Карма: 664 ![]() |
Не может быть. Покажи пример ссылки. |
||
![]() |
۩
Дата
|
![]() ![]() Новичок ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1704 Пользователь №: 31058 На форуме: Карма: 24 ![]() |
Нынче все нормально! Но вод ссылка "http://vkontakte.ru/")
-------------------- |
![]() |
![]() ![]() ![]() |