Chạy nước rút WordPress

phải được gọi với một chuỗi định dạng hợp lệ có ít nhất một trình giữ chỗ và với một tập hợp các giá trị thay thế trình giữ chỗ hợp lệ

Chi tiết quy tắc

Ví dụ về mã không chính xác cho quy tắc này

sprintf();
sprintf( '%s' );
sprintf( 1, 'substitute' );
sprintf( [], 'substitute' );
sprintf( '%%', 'substitute' );
sprintf( __( '%%' ), 'substitute' );
sprintf( _n( '%s', '' ), 'substitute' );
sprintf( _n( '%s', '%s %s' ), 'substitute' );

Ví dụ về mã chính xác cho quy tắc này

sprintf( '%s', 'substitute' );
sprintf( __( '%s' ), 'substitute' );
sprintf( _x( '%s' ), 'substitute' );
sprintf( _n( '%s', '%s' ), 'substitute' );
sprintf( _nx( '%s', '%s' ), 'substitute' );

wp_sprintf() WP 2. 5. 0

Triển khai WordPress của PHP sprintf() với các bộ lọc

1 lần — 0. 000104 giây (nhanh). 50000 lần — 0. 30 giây (rất nhanh). PHP7. 1. 11, WP 4. 9. 7

Móc từ chức năng

wp_sprintf

Trở lại

String. Chuỗi đã định dạng

Cách sử dụng

wp_sprintf( $pattern, ...$args );
$pattern(string) (bắt buộc)Chuỗi đã định dạng đối số được chèn vào. $args(mixed) (bắt buộc) Các đối số được định dạng thành chuỗi $pattern

ví dụ

1

Ví dụ về từ thay thế %l

echo wp_sprintf( '%s: %l', 'Prefix', [ 'one', 'two', 'three', 'four' ] );
//> Prefix: one, two, three and four

1

Thêm ví dụ về chuyển đổi định dạng

$pattern = '%d monkeys are sitting on the %s';
echo wp_sprintf( $pattern, 5, 'tree' ); //> 5 monkeys are sitting on the tree

$pattern = 'There are %1$d monkeys sitting on the %2$s';
echo wp_sprintf( $pattern, 5, 'tree' ); //> There are 5 monkeys on the tree

$pattern = 'There are %1$d monkeys sitting on the %2$s. %1$d monkeys are sitting on the %2$s';
echo wp_sprintf( $pattern, 5, 'tree' ); //> There are 5 monkeys on the tree. there are 5 monkeys on the tree.

Thêm ví dụ của riêng bạn

Nhật ký thay đổi

kể từ 2. 5. 0Giới thiệu. kể từ 5. 3. 0Chính thức hóa tài liệu hiện có và đã được ghi lại. tham số $args bằng cách thêm nó vào chữ ký hàm

wp_sprintf() wp sprintf mã WP 6. 1. 1

function wp_sprintf( $pattern, ...$args ) {
	$len       = strlen( $pattern );
	$start     = 0;
	$result    = '';
	$arg_index = 0;
	while ( $len > $start ) {
		// Last character: append and break.
		if ( strlen( $pattern ) - 1 == $start ) {
			$result .= substr( $pattern, -1 );
			break;
		}

		// Literal %: append and continue.
		if ( '%%' === substr( $pattern, $start, 2 ) ) {
			$start  += 2;
			$result .= '%';
			continue;
		}

		// Get fragment before next %.
		$end = strpos( $pattern, '%', $start + 1 );
		if ( false === $end ) {
			$end = $len;
		}
		$fragment = substr( $pattern, $start, $end - $start );

		// Fragment has a specifier.
		if ( '%' === $pattern[ $start ] ) {
			// Find numbered arguments or take the next one in order.
			if ( preg_match( '/^%(\d+)\$/', $fragment, $matches ) ) {
				$index    = $matches[1] - 1; // 0-based array vs 1-based sprintf() arguments.
				$arg      = isset( $args[ $index ] ) ? $args[ $index ] : '';
				$fragment = str_replace( "%{$matches[1]}$", '%', $fragment );
			} else {
				$arg = isset( $args[ $arg_index ] ) ? $args[ $arg_index ] : '';
				++$arg_index;
			}

			/**
			 * Filters a fragment from the pattern passed to wp_sprintf().
			 *
			 * If the fragment is unchanged, then sprintf() will be run on the fragment.
			 *
			 * @since 2.5.0
			 *
			 * @param string $fragment A fragment from the pattern.
			 * @param string $arg      The argument.
			 */
			$_fragment = apply_filters( 'wp_sprintf', $fragment, $arg );
			if ( $_fragment != $fragment ) {
				$fragment = $_fragment;
			} else {
				$fragment = sprintf( $fragment, (string) $arg );
			}
		}

		// Append to result and move to next fragment.
		$result .= $fragment;
		$start   = $end;
	}

	return $result;
}

chức năng liên quan

Tương tự PHP (thay thế hàm PHP)

  • is_iterable()
  • str_contains()
  • str_ends_with()
  • str_starts_with()
  • wp_basename()
  • wp_filesize()
  • wp_generate_uuid4()
  • wp_json_encode()
  • wp_mkdir_p()
  • wp_parse_str()
  • wp_rand()

Chức năng trợ giúp

  • __return_empty_array()
  • __return_empty_string()
  • __return_false()
  • __return_null()
  • __return_true()
  • __return_zero()
  • mảng_key_first()
  • mảng_key_last()
  • block_core_social_link_services()
  • build_query()
  • get_page_hierarchy()
  • get_self_link()
  • human_readable_duration()
  • map_deep()
  • có thể_serialize()
  • có thể_unserialize()
  • đường dẫn_join()
  • dảilashes_deep()
  • timer_float()
  • timer_stop()
  • urlcode_deep()
  • wp_array_slice_assoc()
  • wp_debug_backtrace_summary()
  • wp_extract_urls()
  • wp_filter_object_list()
  • wp_get_list_item_separator()
  • wp_html_split()
  • wp_is_jsonp_request()
  • wp_kses_array_lc()
  • wp_kses_hair()
  • wp_kses_uri_attribut()
  • wp_list_filter()
  • wp_list_pluck()
  • wp_list_sort()
  • wp_make_link_relative()
  • wp_normalize_path()
  • wp_parse_args()
  • wp_parse_id_list()
  • wp_parse_list()
  • wp_parse_slug_list()
  • wp_parse_url()
  • wp_recursive_ksort()
  • wp_reset_vars()
  • wp_send_json()
  • wp_send_json_error()
  • wp_send_json_success()
  • wp_slash()
  • wp_spaces_regexp()
  • wp_tempnam()
  • wp_unslash()

Sprintf trong WordPress là gì?

Hàm sprintf() ghi một chuỗi đã định dạng vào một biến . Các tham số arg1, arg2, ++ sẽ được chèn tại các dấu phần trăm (%) trong chuỗi chính. Chức năng này hoạt động "từng bước một". Ở dấu % đầu tiên, arg1 được chèn vào, ở dấu % thứ hai, arg2 được chèn, v.v.

Sự khác biệt giữa printf() và sprintf() trong PHP là gì?

Sự khác biệt chung giữa hàm sprintf() và printf() là hàm sprintf() hiển thị văn bản với sự trợ giúp của tiếng vang, trong khi hàm printf() không cần . .

%s trong PHP là gì?

Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. Đó không phải là thứ của WordPress, đó là thứ của PHP. %1$s , %2$s , v.v. , là phần giữ chỗ cho các biến trong chuỗi được định dạng được trả về bởi sprintf() (hoặc được in bởi printf() ). 1$ cho biết đó là biến đầu tiên, 2$ sẽ là biến thứ hai, v.v.

Việc sử dụng Sprintf là gì?

Mô tả. Hàm sprintf() định dạng và lưu trữ một chuỗi ký tự và giá trị trong bộ đệm mảng . Bất kỳ danh sách đối số nào cũng được chuyển đổi và đưa ra theo đặc tả định dạng tương ứng trong chuỗi định dạng.