Приведенный ниже код ищет в контенте WordPress слова и заменяет эти слова ссылкой и элементом div. Это создает проблему, когда div закрывает тег <p>
, в который он был вставлен.
$myposts = get_pages(args...);
$replace = array();
$i = 1;
foreach( $myposts as $post ) {
setup_postdata($post);
$replace[get_the_title()] = '<a href="#popupBasic' . $i . '" data-rel="popup">' . get_the_title() . '</a><div data-role="popup" class="tooltipBox" id="popupBasic' . $i . '">' . get_the_content() . '</div>';
$i++;
}
$text = str_replace(array_keys($replace), $replace, $text);
Почему str_replace так ломает тег <p>
?
<div>
<p>Some random text thats been <a href="#" class="link">cutt</a></p><div style="display: none;"><!-- placeholder --></div> off.<p></p>
</div>
Если это нельзя исправить в PHP, можем ли мы исправить это с помощью jQuery? Я хочу вернуть слово, которое было отрезано, в данном случае "отключено". в тег <p>
, который закрывается после ссылки. А также убрать пустой тег <p>
в конце.
display:block
, если это необходимо. - person Blazemonger   schedule 13.11.2012