|
|
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Есть страничка Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. нужно вырезать все теги между Код: html 1. Т.е. должно получится так Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Помогите пожалуйста с регулярным выражением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 11:52 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Varo, Для этой цели лучше всего подойдет strip_tags. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 13:39 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
phpz, Функция удаления тегов данном случае - не подходит. По крайней мере в одиночном использовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 13:43 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
preg_replace_callback в помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 13:57 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Hett, Это как раз то что нужно, но вот только у меня не получается составить правильное регулярное выражение, все ломается на первом </p> По этому и прошу помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 14:20 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
хотя регуляркой тут сложновато, возможно, будет, лучше юзать парсеры HTML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 14:22 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Самому теперь интересно, по крайней мере у меня не получилось это сделать с помощью DOMDocument, т.к. он не правильно понимает вложенные теги P, потому что внутри тега P не может содержаться блочных тегов, коим он сами и является. Где вы взяли такой не валидный HTML ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 14:47 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Если окаймить <p class="text"> <div>-ами, то получается. А так, действительно надо исправлять HTML-код. <script type="text/javascript"> $(document).ready(function() { $('.text').each(function() { $(this).parent().html('<p class="text">'+$(this).parent().text()+'</p>') });alert($('.text').parent().parent().html()); }); </script> <body> <div> <p class="text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. <p>Cras vestibulum tempor leo auctor placerat.</p> <p>Ut vel ipsum enim.</p> Nam ac neque enim. <b>Pellentesque enim diam, fermentum commodo aliquet in, venenatis non quam.</b> Praesent dictum accumsan nulla, ac rutrum ipsum pharetra eu. Donec aliquam, risus a volutpat rutrum, nunc purus mattis leo, eget feugiat odio elit non diam. </p> </div> <div> <p class="text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. <p>Cras vestibulum tempor leo auctor placerat.</p> <p>Ut vel ipsum enim.</p> Nam ac neque enim. <b>Pellentesque enim diam, fermentum commodo aliquet in, venenatis non quam.</b> Praesent dictum accumsan nulla, ac rutrum ipsum pharetra eu. Donec aliquam, risus a volutpat rutrum, nunc purus mattis leo, eget feugiat odio elit non diam. </p> </div> </body> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 15:57 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
VaroПомогите пожалуйста с регулярным выражением У вас произвольная вложенность. Почитайтедля чего регулярки существуют и для чего их не стоит за уши притягивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 16:00 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
чтоб не создавать еще одну тему помогите Код: php 1. 2. 3. 4. 5. 6. 7. Хочу вырезать 1011620007288 и дату 21.10.2011. Но не могу создать регулярку :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 17:46 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
HettСамому теперь интересно, по крайней мере у меня не получилось это сделать с помощью DOMDocument, т.к. он не правильно понимает вложенные теги P, потому что внутри тега P не может содержаться блочных тегов, коим он сами и является. Где вы взяли такой не валидный HTML ?А так, действительно надо исправлять HTML-код. Не имею возможности управлять кодом. Hett, вот именно по этому, я уже 3й день ломаю голову над этого простой с виду головоломкой -) Почитайтедля чего регулярки существуют и для чего их не стоит за уши притягивать. И вам хорошего дня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 10:34 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
регулякачтоб не создавать еще одну тему помогите Код: php 1. 2. 3. 4. 5. 6. 7. Хочу вырезать 1011620007288 и дату 21.10.2011. Но не могу создать регулярку :( Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 10:38 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
авторHett, вот именно по этому Может наивно, но что это означает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 13:02 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
я хз, просто придумал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 14:30 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Varo, конкретно для первого примера ([13617842]) можно использовать такую схему: 1) разбить текст - $arr = explode('<p class="text">', $str); 2) почистить массив - foreach ($arr as $key => &$value) $value = strip_tags($value); 3) добавить элементам массива любые окаймляющие тэги (хоть те же <p class="text">)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 18:54 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Я ниче не понял, но почему-то мне кажется вы так вообще все тэги поудаляете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 20:07 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Если HTML гарантированно корректен и если иных особенностей нет, т.е. задача строго : разбить на p-эшки, у которых класс text и вернуть содержимое этих p-эшек То начало в принципе подходит: Код: php 1. Ну а дальше не надо ничего стрипать, просто убрать лишнее, т.е. закрывающие </p> в конце строк. И всё. Но решение грязное и чувствительное, т.е. черновое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 21:30 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Достаточно в каком-то из <p class="text"> добавить лишних пробелов и explode нас разочарует :) Но если разбивать регуляркой, то уже будет живучее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2012, 21:32 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Не подходит для XHTML, и если уж HTML и валидный, то лучше все сделать с помощью DOMDocument ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2012, 07:39 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Чтоб не плодить тем, подскажите как регулярным выбрать из шаблона key1 "" "string1 " "string2 " key2 "" Все что между key1"" ---- key2"" то есть выбрать строчки. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2012, 13:18 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
и как выбрать отдельно строки 1 и 2 из такого шаблона, ну тоесть результат 1 = строка 1 + строка 2; результат 2 - строка 1; результат 3 = строка 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2012, 13:22 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
Hett, естественно, поудаляю. И получу голые данные. Которые потом можно обрамлять в любые нужные тэги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2012, 14:48 |
|
||
|
[PHP] Регулярка
|
|||
|---|---|---|---|
|
#18+
stopkranHett, естественно, поудаляю. И получу голые данные. Которые потом можно обрамлять в любые нужные тэги. все теги можно и без цикла удалить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2012, 18:48 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38075720&tid=1464296]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 496ms |

| 0 / 0 |
