|
|
|
| Приветствую =)
недавно появилось одна небольшая проблемка... немало информации на моем сайте выводится через переводчик... но этот переводчик некоторые страницы переводит не полностью... в самом конце... буквально две строки таблицы вообще не переводит и они выводятся не в той кодировке и текст становится длинным что нарушает размеры ячеек таблицы... если просто сохранить эту страницу на харде и потом убрать эти строки то конечно же таблица принимает свой нормальный вид =) поэтому встал вопрос написани регулярного выражения которое бы вырезало из строки
27,800 ±Я / »Д¤к7 »юґЦ
ЎьГнМЬЎь°Вїґ2ЗЇКЭѕЪЎьSatellite1800 SA70C...
|
все вот эти символы
±Я / »Д¤к7 »юґЦ
ЎьГнМЬЎь°Вїґ2ЗЇКЭѕЪЎь
|
я просто даже не представляю как можно записать диапозон этих символов (там же получается диапозон из непереведённых символов но в другой кодировке)... можно конечно поставить кучу ereg_replace... но этот вариант только для того если всё безнадёжно.... скорее всего можно же как нить записать диапозон этих символов... применение функции iconv() наверное здесь также не прокатит... тем более её работа не оч корректна...
Вобщем оч интересно и важно будет услышать ваши предложения по этой проблемке =) | |
|
|
|
|
|
|
|
для: eclipse
(24.03.2006 в 04:20)
| | ... правда есть конечно идея чтобы удалялись все символы кроме всех допустимых (кроме латиницы цифер и стандартных символов типа < > ? ! / * etc и вообще всего всего ) =) только я пока не придумал как это сделать =) то есть конечно всё будет примерно так...
$reg2 = "[^a-zA-Z0-9]";
$z = ereg_replace($reg2, "",$z);
|
но я не знаю как записать все все символы...
если это проще (а так походу и есть) то хотелось бы составить такое регулярное выражение =) | |
|
|
|
|
|
|
|
для: eclipse
(24.03.2006 в 04:20)
| | А пере каркозябликами какой текст идёт? Нельзя к нему привязаться как-нибудь? | |
|
|
|
|
|
|
|
для: cheops
(24.03.2006 в 13:57)
| | вобщем код в этих ячейках где перевод не проходит вот такой
<br>
12,800 В±РЇ
/
»Д¤к1 Жь
<br>
РЋС‰DynaBookSS2000РђРјРќРЎРЋС‰PAME256РЋРљТђС—ТђВ¤ТђР§ZРЋР›...
</a></small>
|
ну или вот ещё для примера... и так несколько ячеек
<br>
5,000 В±РЇ
/
»Д¤к1 Жь
<br>
DynabookРЋРЋТђРћРЋС?ТђР?РЋРЋWin98РЋРЋCEL500MHЈъЎЎ64M...
</a></small>
|
то есть нада всё оставить как и было и убрать эти символы... так как названия могут быть разными то и символы другой кодировки могут быть разными... поэтому наверное оптимальнее перебирать всё кроме латиницы чисел и всех остальных знаков... то есть чтобы теги и всё остальное не менялось.... | |
|
|
|
|
|
|
|
для: eclipse
(24.03.2006 в 14:14)
| | А структура
<br>
12,800 В±РЇ
Кракозяблики
<br>
Кракозяблики
</a></small>
|
Всегда одинаковая? | |
|
|
|
|
|
|
|
для: cheops
(24.03.2006 в 20:01)
| | впринципе да... всегда =) структура та же у всех ячеек... пусть они переведены корректно или нет... и из всех таких ячеек нада убрать эти символы | |
|
|
|
|
|
|
|
для: eclipse
(25.03.2006 в 02:45)
| | Тогда можно воспользоваться примерно таким скриптом
<?php
$str = '<br>
5,000 В+РЇ
/
В>Р"¤к1 Р-С_
<br>
DynabookР_Р_Т_Р_Р_С?Т_Р?Р_Р_Win98Р_Р_CEL500MHР_С_Р_Р_64M...
</a></small>';
$pattern = "|(<br>)[\s]+([\d]+,[\d]+)[^<]+<br>[^<]+(</a></small>)|is";
$str = preg_replace($pattern,"\\1\\2\\3",$str);
echo $str;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(25.03.2006 в 13:32)
| | спасибо огромное =) а можно как нить написать так чтобы в таких кодах оставались не только цифры но и обычная латиница??? то есть если после преобразований код становился бы таким
<br>
12,800
/
<br>
DynaBookSS2000PAME256
</a></small>
|
И интересна узнать что означает "\\1\\2\\3" =) | |
|
|
|
|
|
|
|
для: eclipse
(25.03.2006 в 21:00)
| | Нужно подумать... возможно можно...
>И интересна узнать что означает "\\1\\2\\3" =)
\\1 - это текст, соответсвующий первым скобкам в регулярных выражениямх, \\2 - текст, соответствующий вторым скобкам в регулярных выраженях, \\3 - в третьих и т.д.
PS между последовательностями \\x могут быть вставлены любые другие символы. | |
|
|
|