src/Utilities/ParsingPlaceholderFactory.php
<?php
declare( strict_types = 1 );
namespace MediaWiki\Extension\Translate\Utilities;
/**
* Create unique placeholders that can be used when parsing (wiki)text.
* @author Niklas Laxström
* @license GPL-2.0-or-later
* @since 2020.07
*/
class ParsingPlaceholderFactory {
/** @var int */
private $i = 0;
/** Return value is guaranteed to only contain [a-zA-Z0-9\x7f] */
public function make(): string {
return "\x7fUNIQ" .
dechex( mt_rand( 0, 0x7fffffff ) ) .
dechex( mt_rand( 0, 0x7fffffff ) ) .
'-' .
$this->i++;
}
}