$replacement = array
(
'dog' => 'http://somelink1.com/',
'cat' => 'http://somelink2.com/'
);
И есть некий цикл:
$message='Some text here';
foreach($replacement as $key => $value)
{
$message = str_ireplace($key, '<a href="'.$value.'">'.$key.'</a>', $message);
}
Всё вроде работает, но не так, как нужно. Помогите, пожалуйста, написать регистронезависимую регулярку, чтобы получалось примерно следующее:
dog - заменяется на <a href="http://somelink1.com/">dog</a>
doggy - заменяется на <a href="http://somelink1.com/">doggy</a>
Mini-Dogs - заменяется на <a href="http://somelink1.com/">Mini-Dogs</a>
Заранее благодарен!
Спустя 2 часа, 21 минута, 56 секунд (5.05.2011 - 19:33) Winston написал(а):
Как вариант можешь так попробовать:
У тебя будут заменятся любые слова в которых подряд идут 3 буквы dog или cat
Например
hotdogandcat -> <a href="http://somelink1.com/">hotdogandcat</a>
И т.д.
$message='Some hot_dog_end text here ddogergy, cat , cat Mini-Dog';
foreach($replacement as $key => $value)
{
echo $message = preg_replace("/((?:[_a-z0-9-]*)?" . $key . "(?:[_a-z0-9-]*)?)/iu", '<a href="'.$value.'">\\1</a>', $message) . '<br/>';
}
У тебя будут заменятся любые слова в которых подряд идут 3 буквы dog или cat
Например
hotdogandcat -> <a href="http://somelink1.com/">hotdogandcat</a>
И т.д.
Спустя 50 минут, 54 секунды (5.05.2011 - 20:24) NotBot написал(а):
Огроменное спасибище!! )