VolDroN
2.10.2014 - 21:18
Здравствуйте.
Есть такая задача: есть html код, из которого нужно регуляркой вытащить весь текст, потом этот текст прогнать через пару функций и вставить обратно.
Я вижу только такой вариант: заменять куски текста на какие-нибудь номера, используя модификатор e, к примеру вставлять вместо куска текста какой-нибудь определенный набор символов, {{{___textnumber:$counter___}}} В дальнейшем обработанный текст также регуляркой вставлять.
Собственно вопрос в том, как составить такую регулярку?
+ еще нужно игнорировать теги i, b и подобные. Т.к. нет смысла делить текст на куски, из-за выделения, к примеру: "Существует прекрасная программа <b>Adobe Photoshop</b> и эти уроки помогут вам разобраться с ней", нужно это выделить как не 3 куска текста, а 1, удалив <b>
Игорь_Vasinsky
2.10.2014 - 21:35
какой исходник и что надо получить ?
_____________
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
Invis1ble
2.10.2014 - 21:41
опять html собрались регулярками парсить...
юзай специально созданные для этого инструменты, например Simple HTML DOM
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
VolDroN
2.10.2014 - 21:41
Цитата (Игорь_Vasinsky @ 2.10.2014 - 21:35) |
какой исходник и что надо получить ? |
по сути, источник не имеет значение. В любом случае это страница какого-либо сайта.
В итоге нужно получить:
1. html код с вырезанными кусками текста, на месте каждого куска - какой-нибудь набор символов с номером этого куска, чтобы в дальнейшем можно было определить и заменить.
2. Массив этих кусков текста, каждый номер которого совпадает с местом в html коде. Чтобы в дальнейшем, при обратной замене, все стало на свои места.
VolDroN
2.10.2014 - 21:42
Цитата (Invis1ble @ 2.10.2014 - 21:41) |
опять html собрались регулярками парсить... юзай специально созданные для этого инструменты, например Simple HTML DOM |
спасибо, попробую
что-то я подзабыл об этом.
VolDroN
2.10.2014 - 22:52
Поковырял я Simple HTML DOM и.. не разобрался со своей проблемой
Я вообще не уверен, стоит ли пробовать такое делать, не знаю получится ли корректно текст выделять. Просто это лучшее решение. Можно сделать по другому, на основе определения стандартных для цмс тегов с текстом. Но это нежелательный вариант, поскольку сильно ограничивает возможность определения этого текста. Т.к. нужна обработка страниц не только на цмс, да и все цмски перебирать, с целью выяснения этих стандартных тегов, вариант так себе