как заменить хэштегированный текст в последовательности, используя preg_replace (_callback) - PullRequest
1 голос
/ 07 ноября 2011

целевой текст выглядит примерно так:

Lorem ipsum dolor # sit # amet, consectetur # adipisicing # elit, sed do # eiusmod # tempor Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip.

базовые данные для хештега # sit #, # adipisicing #, # eiusmod # будут выглядеть как:

array(
  '42' => 'sit somewhere',
  '43' => 'adipisicing...',
  '63' => 'eiusmod...'
)

Я хочу использовать preg_replace или preg_replace_callback для замены хэш-тега на значение массива в последовательности. получить результат как:

Lorem ipsum dolor <a href="/link/to/42" title="sit somewhere">#sit#</a> amet, consectetur <a href="link/to/43" title="adipisicing...">#adipisicing#</a> elit, sed do <a href="/link/to/63" title="eiusmod...">#eiusmod#</a> tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip.

как этого достичь?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2011
$search = array(
    '#sit#',
    '#adipisicing#',
    '#eiusmod#'
    );
$replacement = array(
    '42' => 'sit somewhere',
    '43' => 'adipisicing...',
    '63' => 'eiusmod...'
    );
$str = str_replace($search, $replacement, $str);
0 голосов
/ 07 ноября 2011

Возможно, вам лучше использовать str_replace.

См. http://www.php.net/manual/en/function.str-replace.php

...