Dzen
Новичок
регулярные выражения: два соответствия в одной строке?
есть строка:
<object>text</object> 12345 <object>text</object>
хочется заменить text на другой текст, допустим text2.
что правильнее использовать ereg_replace или preg_replace?
дело в том, что написав регулярное выражение у меня заменяется вся строка,
то есть результат получается такой:
<object>new text</object>
а цифры 12345 вырезаются,
потому что регулярное выражение не учитывает </object> который в середине,
то есть регулярка берет первый <object> и последний </object> и режет всё что между ними
а нужно:
<object>new text</object> 12345 <object>new text</object>
доки читал, не нашел ничего.
Читал книгу, там было написанно что есть ключи для preg_replace который указывают на первое вхождение соответсвтия, может в этом дело? Но книгу найти не могу
Надо ключи использовать какие-то?
Хотя без ключей я бы сделал так выражение:
взять от <object> любые символы до !первого вхождения </object>!
И вот как указать первое вхождение, нигде найти не могу
есть строка:
<object>text</object> 12345 <object>text</object>
хочется заменить text на другой текст, допустим text2.
что правильнее использовать ereg_replace или preg_replace?
дело в том, что написав регулярное выражение у меня заменяется вся строка,
то есть результат получается такой:
<object>new text</object>
а цифры 12345 вырезаются,
потому что регулярное выражение не учитывает </object> который в середине,
то есть регулярка берет первый <object> и последний </object> и режет всё что между ними

а нужно:
<object>new text</object> 12345 <object>new text</object>
доки читал, не нашел ничего.
Читал книгу, там было написанно что есть ключи для preg_replace который указывают на первое вхождение соответсвтия, может в этом дело? Но книгу найти не могу

Надо ключи использовать какие-то?
Хотя без ключей я бы сделал так выражение:
взять от <object> любые символы до !первого вхождения </object>!
И вот как указать первое вхождение, нигде найти не могу
