Форум → Программирование → PHP для идиотов → Как удалить в строке url (типа mysite.com) но оставить email?
Как удалить в строке url (типа mysite.com) но оставить email?
Страницы: ← Следующая страница →
-
Не могу разобраться как удалить из строки url (которые могут быть записаны как угодно: http://www.mysite.com или www.mysite.com или mysite.com), но при этом оставить email
Пробую таким образом:
$Text = ereg_replace("[0-9A-Za-z_\.\-]+\.[A-Za-z]{2,6}", "", $Text);
Удаляются все что похоже на mysite.com
НО email (например: [email protected]) не сохраняется а обрезается : email@
Может кто нибудь помочь? -
Янв. 2, 2009, 9:01 п.п., спустя 13 минут 21 секунду
[^@] (узнайте что такое ^)https://smappi.org/ - платформа по созданию API на все случаи жизни -
Янв. 2, 2009, 9:02 п.п., спустя 28 секунд
С трудом понял что нужно =)#(http://?)[0-9a-z_\.\-/]+\.[a-z]{2,4}#is
по
adw0rd-у#(http://?)[^@]+\.[a-z]{2,4}#is
Не стоило наверное так много рассказывать=( -
Янв. 2, 2009, 9:03 п.п., спустя 1 минуту 32 секунды
https://smappi.org/ - платформа по созданию API на все случаи жизни -
Янв. 2, 2009, 9:20 п.п., спустя 16 минут 33 секунды
С трудом понял что нужно =)#(http://?)[0-9a-z_\.\-/]+\.[a-z]{2,4}#is
по
adw0rd-у#(http://?)[^@]+\.[a-z]{2,4}#is
Не стоило наверное так много рассказывать=(
Этот вариант работает, если url начинается с http://
а если без http то не удаляет
Надо чтобы удалял mysite.com но при этом email не "калечил" -
Янв. 2, 2009, 9:36 п.п., спустя 16 минут
webus, я ничего не говорил про http://, вы узнали что такое ^ ?
И еще вопрос, вы ищете это в тегах, например:
?<a href="http://www.example.com">example</a>
https://smappi.org/ - платформа по созданию API на все случаи жизни -
Янв. 2, 2009, 9:50 п.п., спустя 13 минут 44 секунды
я не в тегах ищу, в обычном тексте, куда могут попытаться одновременно поместить адрес сайта и email
Насчет символа ^ :
выражение ^р — строка, начинающуюся с символа р.
Конструкция [^a-zA-Z] совпадает с любым символом, не входящим в указаные интервалы (a-z и A-Z).
[^@] - видимо означает что не содержит @ -
Янв. 2, 2009, 10:04 п.п., спустя 14 минут 7 секунд
Мля думать некогда, поэтому только то что получилось.# (http://)?[0-9a-z_\.\-/]+?[^@]{1}[0-9a-z_\.\-/]+?\.[a-z]{2,4} #is
Работает точно, проверил.
Но можно лучше -
Янв. 2, 2009, 11:41 п.п., спустя 1 час 37 минут 26 секунд
У меня к сожалению не получается
Делаю так:
$Text = ereg_replace("(http://)?[0-9a-z_\.\-/]+?[^@]{1}[0-9a-z_\.\-/]+?\.[a-z]{2,4}", "", $Text);
Warning: ereg_replace(): REG_ERANGE:аinvalid character range
Пробую упростить, вот так работает:
$Text = ereg_replace("[0-9A-Za-z_\.\-]+\.[A-Za-z]{2,4}", "", $Text);
но к сожалению emailы тут не учитываются
Должна быть проверка, что удалять только в том случае, если вот этому "[0-9A-Za-z_\.\-]+\.[A-Za-z]{2,4}" не предшествует @ -
Янв. 2, 2009, 11:45 п.п., спустя 4 минуты 8 секунд
webus, ну так вставьте вначале [^@]… Попробуйте хотябы…https://smappi.org/ - платформа по созданию API на все случаи жизни -
-
-
Янв. 3, 2009, 12:03 д.п., спустя 10 минут 39 секунд
Скопируй строчку$Text = preg_replace("# (http://)?[0-9a-z_\.\-/]+?[^@]{1}[0-9a-z_\.\-/]+?\.[a-z]{2,4} #is", "", $Text);
P.S. Ром с колой рулит!!! =) -
Янв. 3, 2009, 12:07 д.п., спустя 3 минуты 16 секунд
пробегаюсь глазами по регулярке и вижу что ром с колой == зло
+? == *
[^@]{1} == [^@]
\.\-/ == \./-
PS и еще пробел в начале не нужен -
Янв. 3, 2009, 12:35 д.п., спустя 28 минут 42 секунды
CTAPbIu_MABP, нужен, вот в конце не нужен.
Of попробую написать что нить нормальное, пока "муза" действует! =)
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!