[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Неточная замена слов в тексте
NotBot
Ребята, помогите, пожалуйста, с регуляркой на PHP, никак не могу сообразить. Итак, есть некий массив:

$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 написал(а):
Как вариант можешь так попробовать:
$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 написал(а):
Огроменное спасибище!! smile.gif)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.