Помогите с регуляркой
Объясни ещё раз чего ты хочешь.
в строке есть некие фразы выделенные символами | в начале и в конце. Надо эти символы заменить на < в начале и > в конце
$s = preg_replace('/\|(.+?)\|/','<\1>',$s)
прогонять до посинения
а... если там вложенности нет, то убрать greedy, и достаточно одной таблэтки.
не работает
ЧТо значит "если там вложенности нет, то убрать greedy"?
Fixed
значит, что как только найдёт текст удовлетворяющий выражению, сразу его "применит", а не будет искать текста подлиннее.
Я уже потихоньку телепатом заделываюсь.
во-во...
но всё-таки лучше не точку, а [^], а то не будет работать на фразах, которые через строчку перескакивают.
$s = preg_replace('/\|(.+?)\|/s','<\1>',$s)
может лучше$s = preg_replace('/\|(.+?)\|/s','<\1>',$s)
$s = preg_replace('/\|(.*?)\|/s','<\1>',$s)
текст может же быть и пустым?
Оставить комментарий
Ivan826
надо в php сделать следующее:заменить в строке все вхождения вида |text| на <text>
Как это сделать?