Для очистки данных мне нужно перенести пунктуацию (запятые и периоды), которые происходят непосредственно перед некоторыми закрывающими тегами (a
, b
, i
, strong
, em
) с другой стороны этих закрывающих тегов.RegEx для перемещения пунктуации вне метки?
Например, этот бит текста:
<p>Lorem ipsum dolor sit <i>amet,</i> consectetur adipiscing elit.</p>
должны быть преобразованы в это:
<p>Lorem ipsum dolor sit <i>amet</i>, consectetur adipiscing elit.</p>
Если возможно, было бы здорово, если регулярное выражение может также перемещать пробелы, которые происходят на конец тегов, хотя я предполагаю, что это может быть достигнуто простым запуском preg_replace
дважды, один раз для пробелов и снова для пунктуации. Например:
<p>Lorem ipsum dolor sit <i>amet, </i>consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit <i>amet</i>, consectetur adipiscing elit.</p>
Просить нас написать это для вас не так, как пользоваться этим сайтом. Удачи и боги! Я рекомендую вам начать с написания регулярного выражения, которое помещает символы, которые вы хотите переместить в группе захвата, а затем перемещает их на другую сторону в заменяющей строке. – 4castle
следует ли рассматривать такой случай ' amet, go,'? – RomanPerekhrest
@RomanPrekhrest: Хорошая точка. Я думаю, что нет - этот вопрос в первую очередь касается чистки пунктуации рядом с закрывающим тегом, поэтому выясняя, следует ли следовать за пунктуацией внутри тега пробелом или выяснить, следует ли перемещать пробел после открытия тега на другую сторону этот открытый тег, кажется, выходит за пределы текущей области. –