WordWrapper.php 639 Bytes
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Setup\Model\Description\Mixin\Helper;

/**
 * Apply specific format to words from source
 */
class WordWrapper
{
    /**
     * Wrap $words with $format in $source
     *
     * @param string $source
     * @param array $words
     * @param string $format
     * @return string
     */
    public function wrapWords($source, array $words, $format)
    {
        return empty($words)
            ? $source
            : preg_replace("/\\b(" . implode('|', $words) . ")\\b/", sprintf($format, '$1'), $source);
    }
}