|
|
|
|
function encodestring($st)
{
// Сначала заменяем "односимвольные" фонемы.
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_",
"abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
"ABVGDEEZIYKLMNOPRSTUFH'IEI");
// Затем - "многосимвольные".
$st=strtr($st,
array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
)
);
// Возвращаем результат.
return $st;
}
function encode_gl($text) {
echo "<style type=\"text/css\" media=\"all\">
@import \"glossary/global.css\";
</style>";
echo "<script src=\"glossary/jquery.js\" type=\"text/javascript\"></script>"
."<script src=\"glossary/jtip.js\" type=\"text/javascript\"></script>";
$text = preg_replace("#\[gl\](.*?)\[/gl\]#is", "<a href=\"".encodestring('$1')."\">$1</a>", $text);
return $text;
}
|
если в куче текста находятся слова в тегах [gl] то надо его сделать ссылкой и в ссылке транслитом а оно не работает так .почему подскажите | |
|
|
|
|
|
|
|
для: dirol
(11.06.2008 в 09:46)
| | Используйте модификатор e в функции preg_replace.
<?php
function encodestring($st)
{
// Сначала заменяем "односимвольные" фонемы.
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_",
"abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
"ABVGDEEZIYKLMNOPRSTUFH'IEI");
// Затем - "многосимвольные".
$st=strtr($st,
array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
)
);
// Возвращаем результат.
return $st;
}
function encode_gl($text) {
echo "<style type=\"text/css\" media=\"all\">
@import \"glossary/global.css\";
</style>";
echo "<script src=\"glossary/jquery.js\" type=\"text/javascript\"></script>"
."<script src=\"glossary/jtip.js\" type=\"text/javascript\"></script>";
$text = preg_replace("#\[gl\](.*?)\[/gl\]#se", "'<a href=\''.encodestring(\\1).'\'>\\1</a>'", $text);
return $text;
}
$text="[gl]Слово[/gl]";
print encode_gl($text);
?>
|
| |
|
|
|
|