Функция с регулярными выражениями

DenyRodger

Новичок
Функция с регулярными выражениями

Помогите пожалуйста. Есть такая функция:

PHP:
function typograph($text)
{
  $text1 = str_replace("--","—",$text);
  $text1 = preg_replace("/'([^\']+)'/", "«\\1»", $text1);
 
  return $text1;
}
Она меняет в тексте одинарные ковычки ' на угловые как цитата.
В этой функции надо сделать так чтобы она пропускала в тексте ссылку. Т.е. не делала изменения в теги
PHP:
<a href='...' и т.д.>
То что я пробовал:
PHP:
$text1 = preg_replace("/'(<a*[[:cntrl:]]*>)([^\']+)'/", "&laquo;\\1&raquo;", $text1);
но тогда в обычном тексте остаются одинарные ковычки...
 

DenyRodger

Новичок
пробовал по разному но либо все переводил в кавычки цитирования либо везеде оставлял одинарные кавычки.
есть вот такой вариант
вообщем работает
PHP:
function typograph($text)
{
  $text1 = str_replace("--","&mdash;",$text);
  $text1 = str_replace("'",'"',$text1);
  $text1 = preg_replace('/\"(\w*)\"/is', '&laquo;\\1&raquo;', $text1);
  $text1 = preg_replace('/(\w*=)\&laquo;(\w*)\&raquo;/i', '\\1"\\2"' , $text1);
 return $text1;
}
мошть кому сгадиться
Всем огромное спасибо!!!!

-~{}~ 06.02.08 12:12:

возникла проблема с русскими буквами
если поменять \w на \S то все работает
 
Сверху