Очень многим начинающим разработчикам рано или поздно попадаются в коде вот такие символы: %s
, %1$s
, %2$s
. Для чего они нужны? Как влияют на код?
В качестве примера можно рассмотреть такой код:
the_content( sprintf(
/* translators: %s: Name of current post. */
wp_kses( __( 'Continue reading %s <span class="meta-nav">→</span>', 'humescores' ), array( 'span' => array( 'class' => array() ) ) ),
the_title( '<span class="screen-reader-text">"', '"</span>', false )
) );
Фрагмент кода позаимствован из темы “underscores”. Чтобы понимать как работают %s
, %1$s
, %2$s
, мы разберем один пример, который приводят разработчики на PHP:
<?php
$num = 5;
$location = 'дереве';
$format = '%d обезьян сидят на %s';
echo sprintf($format, $num, $location);
Ознакомьтесь в руководстве PHP с функцией sprintf.
Аргумент %2$s указывает очередность:
<?php
$format = 'На %2$s сидят %1$d обезьян';
echo sprintf($format, $num, $location);
Но многие предпочитают такому методу вставлять переменные в тело текстовой строки.