[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить регулярное выражение
Страницы: 1, 2
sergeiss
Цитата (Игорь_Vasinsky @ 17.02.2013 - 18:00)
Цитата
подразумевается, ЛЮБОЙ текст
накапливаешь умения телепатии?  

Цитата
Помогите выдрать слово "Текст".

Помогите выдрать слово "Текст".

Игорь, ты далеко не первый день на форуме smile.gif И должен уже заметить, что многие, кто только пришел на форум, спрашивают "эзоповым языком". В данном случае это был вообще первый вопрос от этого человека на нашем форуме.

И, да, "накапливаю умения телепатии" smile.gif Уже много раз меня это выручало, и не только на форуме. Умение понимать не дословно, а по сути вопроса, весьма важно в жизни.

В данном случае, я абслютно уверен, имелось ввиду не "слово Текст", а любой произвольный текст, находящийся в этом месте.

PS. Моё решение, данное где-то в начале темы, может и не самое идеальное smile.gif Не буду спорить. Но оно решает задачу в более общем виде, т.е. при наличии любого произвольного текста, являющегося текстом ссылки. И при этом совсем не важно, какие параметры имеются у тэга A: id, style и другие. Всё, что угодно!

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Во на флудили то user posted image
sergeiss
я то же не понял твоего наезда на Placido, каков был вопрос, таков и ответ.
Цитата (sergeiss @ 17.02.2013 - 16:04)
PS. Моё решение, данное где-то в начале темы, может и не самое идеальное  Не буду спорить.

Вот это что ли?
$arr=preg_split( '/[<>]+/', $str);

Цитата (sergeiss @ 17.02.2013 - 16:04)
Но оно решает задачу в более общем виде, т.е. при наличии любого произвольного текста, являющегося текстом ссылки. И при этом совсем не важно, какие параметры имеются у тэга A: id, style и другие. Всё, что угодно!

Эта регулярка вообще бесполезна, честно говоря она гораздо ближе к стёбу, чем ответ Placido. user posted image
sergeiss
Цитата (killer8080 @ 17.02.2013 - 21:14)
я то же не понял твоего наезда на Placido, каков был вопрос, таков и ответ.

"Наезд" был по очень простой причине: не хочешь отвечать по делу, лучше вообще не отвечай. Что я выразил в хорошо известной фразе "иногда лучше жевать, чем говорить", обращенной к пласидо.

Цитата (killer8080 @ 17.02.2013 - 21:14)
Эта регулярка вообще бесполезна

С чего бы она бесполезна-то? В данном случае, из строки
<a href="showthread.php?t=111" id="thread_title_111" style="font-weight:bold">Текст</a>

получим такой массив:
Array
(
[0] =>
[1] => a href="showthread.php?t=111" id="thread_title_111" style="font-weight:bold"
[2] => Текст
[3] => /a
[4] =>
)

Да, можно дорабатывать. Например, убрать пустые элементы. Или еще что-нибудь сделать. Но работает на все 100%!!! Выделяет именно ПРОИЗВОЛЬНЫЙ текст, являющийся текстом ссылки.
То же, что предложил пласидо, хрен что сделает с произвольным текстом :) И попрообуй - на фактах! - доказать обратное.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (sergeiss @ 17.02.2013 - 20:39)
"Наезд" был по очень простой причине: не хочешь отвечать по делу, лучше вообще не отвечай. Что я выразил в хорошо известной фразе "иногда лучше жевать, чем говорить", обращенной к пласидо.

какой вопрос, такой ответ. ТС вообще не уточнил по какому критерию нужно отлавливать ссылки. Может по фрагменту id, может по урл, или его части, в href, может вообще нужны все ссылки со страницы, и т.д и т.п. Полагаю, что своим ответом он просто намекнул, что вопрос нужно задавать более конкретно, чтобы получить на него ответ, а не какую то хрень.
Цитата (sergeiss @ 17.02.2013 - 20:39)
С чего бы она бесполезна-то? В данном случае, из строки
<a href="showthread.php?t=111" id="thread_title_111" style="font-weight:bold">Текст</a>
получим такой массив:

И что? Потом циклом шуршать по гигантскому массиву, в котором основная масса элементов вообще никакого отношения к ссылкам не имеет, в контенте полно других тегов, кроме <A>. Какой смысл тогда вообще использовать регулярки?
Игорь_Vasinsky
Цитата
Но работает на все 100%!!!

она только на этой строчке и будет работать.

а на странице как правило куча ссылок - не говоря уже об html тегах, которые тоже <> имеют, каждый

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Цитата (killer8080 @ 17.02.2013 - 22:58)
И что? Потом циклом шуршать по гигантскому массиву


Цитата (Игорь_Vasinsky @ 17.02.2013 - 23:04)
она только на этой строчке и будет работать.


Господа, вопрос был задан про определенный тег - a - и про то, как вытащить из него текст smile.gif Массив, как видим, не такой и "гигантский" получился. Всего несколько строк.

И еще - КТО ИЗ ВАС ДВОИХ, защитников пласидо, покажет мне, как ЕГО РЕШЕНИЕ будет работать в общем случае, т.е. для произвольного "Текста"? Я этот вопрос уже несколько раз задал, но никто пока на него не ответил. И знаете, почему? Потому что ответа на него нету - и быть не может! smile.gif Пласидо поглумился просто, а вы его защищаете. Зачем - не знаю. Но так относится к форумчанину, задавшему вопрос, низзя! И пусть это его первый вопрос в жизни форума - низзя глумиться и стебаться!!!

Кроме "правильности" ответов надо еще и уважение к людям иметь.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (sergeiss @ 17.02.2013 - 21:09)
Господа, вопрос был задан про определенный тег - a - и про то, как вытащить из него текст  Массив, как видим, не такой и "гигантский" получился. Всего несколько строк.

в вопросе было
Цитата (seoinby @ 16.02.2013 - 17:03)
нужна регулярка для preg_match_all
Использую библиотеку cURL

Даже с отключенным модулем телепатии, можно понять что речь идет о контенте полученном с другого сайта, а там уж точно не одна маленькая строчка с тегом, а полный html документ.
Цитата (sergeiss @ 17.02.2013 - 21:09)
И еще - КТО ИЗ ВАС ДВОИХ, защитников пласидо, покажет мне, как ЕГО РЕШЕНИЕ будет работать в общем случае, т.е. для произвольного "Текста"?

естественно его нужно допилить для общего случая
$text = '<a href="showthread.php?t=111" id="thread_title_111" style="font-weight:bold">Текст</a>';

preg_match_all('~<a href="showthread.php\?t=111" id="thread_title_111" style="font-weight:bold">(.*)</a>~isU', $text, $matches);

echo $matches[1][0];//Текст

Цитата (sergeiss @ 17.02.2013 - 21:09)
Пласидо поглумился просто, а вы его защищаете.

ИМХО ты тут раздул из мухи слона, никто ни над кем не глумился. И я не увидел никакой активности со стороны ТС, никаких попыток решить поставленную задачу самостоятельно. Человек просто пришел за халявой. Зачем тут такой холивар развивать не понимаю.
Игорь_Vasinsky
Цитата
И еще - КТО ИЗ ВАС ДВОИХ, защитников пласидо, покажет мне, как ЕГО РЕШЕНИЕ будет работать в общем случае, т.е. для произвольного "Текста"?

я ещё вроде на первой странице показал
http://phpforum.ru/index.php?act=Print&cli...limin=3&limit=1

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
Встряну.
Placido, ты хороший человек, но ты тут не прав.
Мы же оба знаем, что ему не это надо было. Человек хотел другое, хотел нечто вроде: "Наличие атрибута id обязательно? "Выдирать" нужно ссылки с определенными "id"? Для любых ссылок или есть ограничения? И т. д. и т. п. Что человек пробовал сделать сам? В чем возникли трудности?"
Но он не до конца выразил свою мысль. И ты знаешь, и я знаю, и он знает, что необходимы уточняющие вопросы. Всё предугадать невозможно, я тоже, порой, задаю вопрос, а забываю уточнить детали. Благодаря есть форум и живые люди, которые отвечают не как машина: "ОТВЕТ ТАКОЙ_ТО", а помогают ТС не только с его проблемой, но и пытаются понять его идею, помочь договорить основную мысль.

Ты верно подчеркнул, что этого нет, но ты это отправил как бы Сергею С.С., а должен был эти же слова отправить ТС для уточнения. Ты не телепат, так дай ТС уточнить, что конкретно он хотел получить в итоге.
Правда целыми днями и постоянно додумывать за ТС их идеи, их вопросы, пытаться угадать то, что им надо было - сложная работа и от неё устаёшь, отсюда и получаются такие "стёбные ответы", которые ни на шаг не приблизили ТС к решению его проблемы.
Можно постебаться, а в ответ ТС поймет, что не совсем верно задал вопрос и уточнит его! А можно задать уточняющие вопросы, где ТС так же само уточнит свой вопрос, только первый вариант более унизительно звучит для ТС, чем простое уточнение того, что он хотел получить и может его оскорбить, задеть или просто обидеть. Мы же люди, зачем стебаться и грубить, можно проще общаться.

Так вот, когда устаёшь от однообразных ответов, надоедает и начинает бесить то, что вчера объяснял другим людям - значит ты устал, поможет хороший отдых! smile.gif

killer8080
Стёб, вот основная беда. Можно не отвечать, можно задать уточняющие вопросы, можно сказать человеку, что без труда не вытянешь и рыбки из пруда, а можно просто стёбно ответить... так вот из всех вариантов прикалываться над другим человеком - самый худший вариант. Надо больше любви, доброты, счастья. А от такого общения этого всего мало получишь, только друзья понимают стёб, и даже не всегда!


Скажу заключение... надо быть ДОБРЕЕ, МИЛЕЕ, ЛАСКОВЕЕ, и оно к тебе не раз ещё вернётся!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
Свернутый текст
не вернётся. я бы уже давно кайфовал на Богамах


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (inpost @ 17.02.2013 - 22:29)
Мы же оба знаем, что ему не это надо было. Человек хотел другое, хотел нечто вроде: "Наличие атрибута id обязательно? "Выдирать" нужно ссылки с определенными "id"?

А я например понял иначе
Цитата (seoinby @ 16.02.2013 - 17:03)
Есть html строка: <a href="showthread.php?t=111" id="thread_title_111" style="font-weight:bold">Текст</a>

Помогите выдрать слово "Текст".

нужна регулярка для preg_match_all
Использую библиотеку cURL

В валидном документе не должно быть несколько элементов с одним id, зачем тогда именно preg_match_all? Исходя из этого, и по наличию числового постфикса в id можно предположить, что таких ссылок много, с id вида thread_title_111, thread_title_112, thread_title_113 и т.д. Но это всё догадки, что нужно на самом деле кроме ТС никто не знает, а он даже не соизволил отписаться в своей теме. Так стоит ли устраивать эту грызню smile.gif
sergeiss
Игорь_Vasinsky, твое решение тоже только для частного случая работает smile.gif, при определенных параметрах.

killer8080, да, ты прав, что не должно быть дублей id. Но вопрос не в дублях, а в том, что набор и порядок следования параметров внутри тэга может быть произвольным

PS. Насчет "грызни". Я тут уже не первый день, на этом форуме. Он мне стал уже давно родным и близким. И поэтому я буду прилагать все усилия к тому, чтобы тут были нормальные взаимоотношения, особенно отношение к новичкам.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
inpost
killer8080
Конечно догадки, ТС должен сам уточнить то, что ему надо. Об этом я и говорил выше, о чём говоришь и ты. Поэтому лучше задать уточняющие вопросы, чем давать ответ, который заведомо будет неверен.
Я про грань уважения к новичкам говорю. Посмотрел я на другие форумы, аж гадко стало как там общаются между собой люди и особенно с новичками. Вот и говорю, что надо быть добрее)

Хотя раз ТС нет, то и дела нет! smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (inpost @ 18.02.2013 - 08:59)
Поэтому лучше задать уточняющие вопросы, чем давать ответ, который заведомо будет неверен.

ну собственно в этом и дело. Оба ответа были одинаково неверны, и не решали поставленной задачи, так почему Placido остался крайним?
Цитата (sergeiss @ 18.02.2013 - 07:46)
killer8080, да, ты прав, что не должно быть дублей id. Но вопрос не в дублях, а в том, что набор и порядок следования параметров внутри тэга может быть произвольным

Ну так твой вариант вообще задачу не решает, с таким же успехом можно было просто разбить текст эксплодом, и нафиг тогда регулярка smile.gif
Цитата (sergeiss @ 18.02.2013 - 07:46)
PS. Насчет "грызни". Я тут уже не первый день, на этом форуме. Он мне стал уже давно родным и близким. И поэтому я буду прилагать все усилия к тому, чтобы тут были нормальные взаимоотношения, особенно отношение к новичкам.

Обеими руками ЗА. Я то же за нормальное, человеческое общение, но имхо в данном случае имел место перегиб smile.gif
Цитата (inpost @ 18.02.2013 - 08:59)
Хотя раз ТС нет, то и дела нет!

Да в том то и дело, что автору вообще дела нет до своего топика, а мы тут распинаемся, решаем его проблему, и спорим кто же ласковей ему ответил. Не вижу я тут никакого неуважительного отношения к собеседнику, проблема высосана из пальца smile.gif
inpost
killer8080
Нет, Placido не крайний, мне кажется, что и Сергей не прав тем, что так же дал неверный ответ, и ты тоже попытался дать ответ, в итоге получилось как игла в стоге сена. Кто угадал, кто нет...

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.