Помогите, пожалуйста, с регэксапами

SKYNET!.mj

Новичок
Помогите, пожалуйста, с регэксапами

Приветствую!

В наследство от прошлого программера досталась функция, заменяющая два дефиса на длинное тире, а две одиночные кавычки на "русские" елочки. С этим она справляется отлично, но попутно она заменяет и двойные кавычки в ссылках.

Т.Е. получается вот так :

<a href="%C2%ABhttp://t.com/6920.html%C2%BB" target="«_blank»">Ссылка</a>


function typograph($text)
{
$text1 = str_replace("--","&mdash;",$text);
//$text1 = preg_replace("/''/", "&lsquo;", $text1);
$text1 = preg_replace("/'([^']+)'/", "&laquo;\\1&raquo;", $text1);

return $text1;
}

Помогите, пожалуйста, исправит эту функцию.

Заранее благодарю )
 

berkut

Новичок
//off: уже второй за день из "Создание web сайтов, web дизайн, раскрутка и т.д." с подобными вопросами. первый похоже с деньгами прокатил
 

FractalizeR

Новичок
Только что проверил - ничего она лишнего не заменяет. Исходная строка, которую вы через эту функцию пропустили как выглядит?

PHP:
<?php
function typograph($text)
{
$text1 = str_replace("--","—",$text);
$text1 = preg_replace("/'([^']+)'/", "«\\1»", $text1);

return $text1;
}
echo(typograph('<a href="%C2%ABhttp://t.com/6920.html%C2%BB" target="_blank">Ссылка</a>'));
?>
 

SKYNET!.mj

Новичок
только что обнаружил, что в базе это храница в виде

<a href='http://test.com/' target='_blank'>link</a>

и соответственно так и меняется. Базу изменить не могу. Как быть ума не приложу
 
Сверху