| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Вырезать из текста передаваемого в <textarea> все |
| Автор: Dante5 7.3.2015, 19:34 |
| пробую вырезать через Код PHP 1 preg_replace('((http:\/\/)?(www\.)?([\w\d-]*?\.)+(\w{2,4}))i',':18:',$mess) немного не так работае как бы хотелось . к примеру если такой вариант ссылки : <a href='http://vk.com/id111111'>ntcn</a> или [a href='http://vk.com/id11111']ntcn[/a] при обработке получается так <a href=':18:/id11111'>ntcn</a> или [a href=':18:/id11111 ']ntcn[/a] а хотелось бы получилось только значение ":18:" (:18: - это смаил) второй вариант если просто ссылка без тега http://vk.com/id71594164 то после обработки получается так :18:/id71594164 как обрезать полностью все и оставлять и заменbть на :18: а так же проверять ссылки с проблеом и тже вырезать пример http://vk . com/id71594164 и vk . com что еще надо дописать в выраение |
| Автор: Aliance 10.3.2015, 09:07 |
| Ну так у вас регулярка ищет то, что вы ей "скажите" искать. У вас же нет ничего после доменной зоны. Добавьте в конец что-то типа (\/?)(.*+) и будет вам счастье. И, кстати, зачем вам все вхождения нужны в карманах? Можно поставить ?: в начало каждого вхождения, чтобы вхождения не записывались. Примерно так: https://regex101.com/r/cO8bV7/1 А что касается html-ссылок (а не только url), то так и нужно дописать все варианты, компьютер за вас их не предугадает. Допустим так: https://regex101.com/r/cO8bV7/2 |