За последние 24 часа нас посетили 20089 программистов и 1594 робота. Сейчас ищут 1909 программистов ...

Как обозначить "текст, в котором нет тегов" ?

Тема в разделе "Регулярные выражения", создана пользователем inline, 11 ноя 2010.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    strip_tags()
     
  3. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    /[^<>]*|.*<[^>]*/
     
  4. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    neverlose
    вот еще такой вариант
    PHP:
    1. [^<>].*?[^<>]
    вроде коректно работает!
     
  5. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Is 5 > 3 ?

    вряд ли на такое сработает. тегов тут нет. А мой сработает.
     
  6. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    твою регулярку понимаю так

    "{'не может быть ни < ни >' хоть один хоть несколько раз}или{любой текст далее <, 'но только не >' хоть один хоть несколько раз}"

    * тут тоже что + ?
    и относится к тому что в [] ?
     
  7. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    и еще такой вопрос
    .*>?
    ? будет действовать на > или на .*> ?
     
  8. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    * - от 0 до бесконечности
    + - от 1 до бесконечности
    [symbols] - 1 символ из перечисленных символов
    [^symbols] - 1 символ, но только не из перечисленных символов
    / - границы начала и конца паттерна
    | - или
    . - любой символ

    Читать мою регулярку нужно следующим образом:

    Текст без тегов это такой текст, в котором нет ни одного из символов: < или >, ИЛИ текст, в котором после символа < нет
    ни одного символа >

    На самом деле, ни твоя ни моя регулярка до конца не правильна.

    Т.к. следующий текст не будет правильно обработан ни твоей регуляркой ни моей:

    Is 5 < 3 or is 5 > 3?

    По моему, гораздо проще проверить:

    $str == strip_tags( $str) ?