Я унаследовал сайт Wordpress с разметкой Textile в течение нескольких лет в подписях изображений. Вместо того, чтобы зачистки их я хотел бы использовать некоторые JQuery, чтобы включить курсив, которые были отмечены выше, как это:Использование регулярного выражения для преобразования текстовой курсивной разметки в HTML
Hello this is some _italic text_ here.
к этому
Hello this is some <em>italic text</em> here.
Спасибо, вот что я пытался, на основе ответы ниже.
<script type="text/javascript">
jQuery().ready(function() {
jQuery("p.wp-caption-text").each(function(n) {
this.innerHTML = this.innerHTML.replace(new RegExp("_([^{]*)_"), "<i>$1</i>");
});
});
</script>
Это работает, но в моей разметке иногда он не находит второго символа _.
Вот реальный пример:
<p class="wp-caption-text">Left: Paul Klee, _Grosses Tier (Large Beast)_, 1928; fractional and promised gift of the Djerassi Art Trust. Right: Andrew Schoultz, _Three Caged Beasts_, 2011; Courtesy the artist and Marx & Zavattero; © Andrew Schoultz</p>
Для этого, он производит это:
<p class="wp-caption-text">Left: Paul Klee, <i>Grosses Tier (Large Beast)_, 1928; fractional and promised gift of the Djerassi Art Trust. Right: Andrew Schoultz, _Three Caged Beasts</i>, 2011; Courtesy the artist and Marx & Zavattero; © Andrew Schoultz</p>
Любая идея, как регулярное выражение может быть изменен, чтобы исправить это?
Ваше регулярное выражение '_ ([^ {] *) _' 'заменяет _ [ничего, кроме {] _' это не работает, попробуйте: '_ ([^ _] *) _' Теперь он заменяет '_ [ничего, кроме _] _' – andlrc