Помогите с регулярным выражением.

  • Автор темы Сергей_
  • Дата начала

Сергей_

Guest
Помогите с регулярным выражением.

Помогите с регулярным выражением.

Как написать:
Любые символы, любое количество раз, среди которых не должны встречаться последовательности символов:
<a
<A
но <, а, A по отдельности могут встречаться

[^(<a|<A)]* не работает

Задача: Выделть ПЕРВЫЙ открывающий тег <a в тексте, в котором может быть несколько ссылок и другие теги


Если написать:
^.*<[aA] -находит последний тег "а"
 

rtrim()

Guest
не понятно точно, что ты имел ввиду
может, preg_replace("/(<a)/i","замена",$file)
 

svetasmirnova

маленький монстрик
>Задача: Выделть ПЕРВЫЙ открывающий тег <a в тексте, в котором может быть несколько ссылок и другие теги
Попробуй в несколько регулярных выражений. Или !preg_match. Как одним сделать быстро не соображу.
 

SelenIT

IT-лунатик :)
Сергей_

Твой последний вариант по идее почти верный, только "жадность" убери: ^.*?<[aA]
(либо поставь модификатор U)
Конечно, подразумевается, что речь идет о PCRE (preg_*), а не об ereg-ах.
 

Сергей_

Guest
Конечно, подразумевается, что речь идет о PCRE (preg_*), а не об ereg-ах.
Как перейти с ereg на PCRE?
Дайте пожалуйста ссылку. где об этом подробно почитать, а то у меня только Котеров РНР4.

P.S.
мне надо, чтобы с РНР работало

для одиночного символа (например '<')подходит такая запись:
^[^<]*<
в этом случае находится именно первый символ '<'

Возможно ли сделать нечто подобное с группой символов?
Если да, то можно было бы написать что-то вроде:
$x='<[Aa]';
^[^$x]*$x

у меня такое не работает...
 

Profic

just Profic (PHP5 BetaTeam)
((?:.(?!<a))+.)
:) Я уже приводил это чудо когда-то в форуме. Как работает разбирайся сам.

[m]pcre[/m]
 
Сверху