Помогите составить выражение

Статус
В этой теме нельзя размещать новые ответы.

plyyyy

Постоялец
Регистрация
10 Фев 2010
Сообщения
52
Реакции
2
Есть html-код в юникоде:
Продаются Слоны. Очень <a href="/">хорошие слоны</a>! Всегда в наличии слоны.

С помощью рег. выражения (на php) нужно сделать первое вхождение слова "слоны"(без учета регистра) ссылкой на определенную страницу. Например, "/sloni.htm". Естественно не трогая те части текста, которые уже находятся в ссылке.

То есть вот что должно получиться:
Продаются <a href="/sloni.htm">Слоны</a>. Очень <a href="/">хорошие слоны</a>! Всегда в наличии слоны.


(нужно чтобы русифицировать плагин для джумлы Seo KeyWord Link )
 
PHP:
$str = "Продаются Слоны. Очень <a href=\"/\">хорошие слоны</a>! Всегда в наличии слоны.";
$reg1 = '/слоны/i';
$new = '<a href="/sloni.htm">$0</a>';

$result = preg_replace($reg1,$new,$str,1);
echo $result;
 
Если строка в utf-8, то нужно так:
PHP:
<?php

$str = "Продаются Слоны. Очень <a href=\"/\">хорошие слоны</a>! Всегда в наличии слоны.";
$reg1 = '/слоны/iu';
$new = '<a href="/sloni.htm">$0</a>';

$result = preg_replace($reg1,$new,$str, 1);
echo $result;

?>
$reg1 = '/слоны/iu';
модификатор u - utf-8
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху