| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > регулярные выражения |
| Автор: AlDev 25.5.2006, 21:41 | ||||
| люди, помогите плиз написать регулярки для вытаскивания адреса и текста ссылки из строки... например из
получить переменные:
PS: ссылка встречается один раз, но как слева так и справа от нее может быть что угодно PPS: как я понимаю, присвоить значения переменным можно через eval, так? |
| Автор: Mal Hack 25.5.2006, 23:16 |
| http://forum.vingrad.ru/index.php?showtopic=46685 |
| Автор: AlDev 26.5.2006, 09:54 |
| thanks а имя ссылки? т.е. то, что между <a href... ></a>? |
| Автор: Mal Hack 26.5.2006, 12:15 |
| ТАм <a ...>(.+?)</a> Поищи, было. |
| Автор: smartov 26.5.2006, 12:23 | ||||
Результат
|
| Автор: Валера 11.7.2006, 21:38 | ||||||
| У меня вопрос: (Не совсем в тему(не про ссылку), но поиск выдал столько тем с таким названием, что я решл очередную не плодить) Мне нужно найти
в определенной переменной и заменить на
Для этого я использую функцию eregi_replace но она ничего не меняет. Может я что то не так написал? (Ответа в своей настольной книге по PHP я не нашел) Помогите, товарищи! Пример проблемы:
|
| Автор: BobiKK 12.7.2006, 08:41 | ||
А если по-простому, через str_replace? Это будет гораздо быстрее
|
| Автор: LOBsTerr 12.7.2006, 08:49 |
| Я извиняюсь, но тоже еще одну тему плодить не стал... Задача - Поступает строка содержащая любой количество цифр, например -1323123123123, надо отображать только первые 8 символов, остальные должны менятся на звездочки, то есть должно получиться 13231231*****. То есть каждый символ последовавший после этих восьми должен быть заменен *. Кто знает помогите. |
| Автор: BobiKK 12.7.2006, 09:12 | ||
Проверь, может я там что напортачил |
| Автор: ZlojEzh 12.7.2006, 09:15 | ||
что-то вроде этого:
|
| Автор: izvrat 12.7.2006, 09:26 |
| /<a href=\"([^"]*)">([^<]*)<\/a>/ - гонево полнешее! тут проскакивает много ваирантов - если во ссылке вложеные теки, есл иесть еще атрибуты.... я бызделал так /<a(\s[^>]*)?\shref\s*=\s*([\'"]([^\'"]*)|([^\'"\s]*))(\s[^>]*)?>(.*)<\/a\s*>/i где href = $3$4 text = $6 ясно? |
| Автор: LOBsTerr 12.7.2006, 09:56 | ||
| Спасибо BobiKK Но я хотел с помощью регулярок )) Вот нашел ответ
|
| Автор: Валера 16.7.2006, 13:37 | ||||||
BobiKK,
В принципе помогает, но у меня не всегда именно такие параметры замены. То есть, например сейчас мне надо найти один или больше подряд идущих слешей и одну кавычку, а у меня Регулярные выражения ничего не заменяют. Подскажите, может я неправильно составил шаблон?
Еще я попробовал так:
Но он выдает ошибку - Warning: ereg_replace(): REG_EPAREN in x:\home\test1.ru\www\php\update.php on line 12 |
| Автор: Wolf1994 16.7.2006, 17:35 | ||
4Валера:
|
| Автор: Валера 17.7.2006, 23:19 | ||||
Спасибо большое! Правда
Выдавал довольно странный результат, а вот
то, что надо. Благодарю за помощь. |
| Автор: Greendrake 10.8.2006, 14:56 | ||
Подскажите, как вырезать из текста комментарии типа
Никак не догоняю как в регвыре заложить условие не "*/". |
| Автор: smartov 10.8.2006, 17:59 | ||
Greendrake,
|
| Автор: Greendrake 11.8.2006, 11:14 | ||||
Хорошо, но почему если
К тому же, судя по подсветке, тут на форуме другая рега юзается. |
| Автор: ZlojEzh 11.8.2006, 11:20 |
| захватывает до последнего '*/' - потому что не используется модификатор 'U' не захватывает перевод строки - не указан модификатор 's' для корректного вырезания комментов надо использовать оба |
| Автор: gogzor 21.9.2006, 23:27 | ||
| Привет люди! У меня есть ссылка - <a href="xxxxxxxxxxxxxxxxxxxx"> , надо найти этот xxxxxxxxxxxxxx , но как??? Я пробовал регулярки которые тут выкладывали , но не помогает ... Дело в том , что м этой ссылке содержаться не только буквы и цифры , а ещё и : % и прочее добро.. Я пробовал этот код:
но он не помогает.... плиз скажите как сделать.... П.С Сылка примерно такая : <a href="http://212.111.210.10/script.php?pupu=7OBDXbjzl4EgtIqJNyS8wNoLeuzQjv87c5aSSbFXLwG5KifPQNE%2BK3DphfjYYq2SQHN9y74HAvd53KAwE3WKdIsbSIsOPU1DnJI1NbyTggmPgjziFL5qfMFKJNwyKowNV%2FfeNmP8Zla1rO2UT%2FvqVkZZdD%2BEqqtqoeLN9RAVin3nS3iTteZSqmKbbml8ePBGVKYM%2Fg%2Blq6jnalGLGyyHgjUQEvVmvVTINU1vO8iNoMQBNIpzP6ELysshvXCdbswOe6i1JIRjOTR39RYR2tEWylimhsNGAiW4XLpIrLABcrs3KxSLGWgFW99coQ2bwu%2FWPGyI260Do7cLD%2F3ppFyJcA%2BvpXNDsGvgh10m1BR2M5dVdAla6iVHK%2FQrqil1KfzCsjzlf1BGNm6PVLEb%2F2CqkeEXXVm0dc1XxBS0iGs%2FOiBIk%2F8jCOugd1ovhNMnK8eKxjkWNbCtCVdkqMuvHIPKFZmsPIE%2FE2vo3P7fpJH3XbxRgksveY50gDb4iSaWUW%2FjSZp6kjQ3y1OjEdSaZ5ldXrzp%2Bb21iKS1P31ADpYiGrXUqphXhDghZUgga%2BRgMv6NAI%2BqoSAgaGQYQE2s3y4UDQa7gl1Kq4KFijfrl%2Bj0mZcDJmnkAm8YpYA7YQTwzM6cVF%2FxYo7Go5iKkjFW%2BaVlsJG0prYt8tLZ93k4b442vBiG52AWnKpdDBTb1YapofxvqpC8UhaUmFdw9234w5QMIWOR4lGKyO5DgZvU8uwHk2GaeWF%2BOj9GY3OGUxWqlf5TWpVMQfuBLpWco7K3%2BzukgDpyiOc%2BmYlFYvUPWN%2FRf4n4qtMoxeTUsbFkFLAZtKk%2BVUTG%2BSGjzpAb743j6lU9kSPkHf5ljKLfYtsqje6bMks%3D"> |
| Автор: Wolf1994 21.9.2006, 23:45 | ||
|
| Автор: smartov 22.9.2006, 12:04 | ||
| gogzor, товарищ, там же видно что в регулярке полная ссылка, а у тебя пол-тега только. Где сам текст ссылки? Где закрытие тега </a>? Естественно ничего работать не будет. Надо немного переделать регулярку и все сразу заработает.
|
| Автор: gogzor 22.9.2006, 18:38 |
| Спасибо за помощь! Подскажите плиз где можно почитать подробно про все знаки и модификаторы regexp (на русском) ? |
| Автор: smartov 22.9.2006, 23:42 | ||
gogzor,
http://php.paco.net/manual/ru/reference.pcre.pattern.syntax.php |