<h1> и <h3> эквивалентны.<h4>, или, что проще, <section> и другие разделительные элементы. Внутри секции нумерация заголовков начинается заново.<h1>Foo</h1>
<h2>Bar</h2>
<h3>Foo</h3>
<h4>Bar</h4>
<h3>Foo</h3>
<section>
<h1>Bar</h1>
</section>
data-. jQuery даже автоматически распарсит JSON:<article class="boat" data-schedule="['Moscow', 'Paris']">...</article>
$('.boat').data('schedule') === ['Moscow', 'Paris'];
$count = preg_match_all('/(img|src)=("|\')[^"\'>]+/im', $html);
if ($count > 1) ...
/<img\s+[^>]*src\s*=[^>]+>/i /version=(\d+)/ a-z, лучше ^\d, и плохая скорость на неудачных проверках, ибо группу слева и справа можно сформировать n способами. Вот вариант чуток улучшенный:^(?:[^\d]*\d){0,3}[^\d]*$$.ajax({
dataType: 'json'
});
{'ajax':'1'} не надо, AJAX посылает заголовок X-Requested-With: XMLHttpRequest, по которому нужно определять, что это AJAX.{
some: 'some'
}
можно попасть под фейл — типа отправки письма пользователю с dev-сервера :)
допустим, дадим разрешение на запись или уберём его
±x).