Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Помогите перевести код Perl в код PHP


Автор: muratbek 15.8.2006, 00:05
Всем привет!

Я работаю в основном в РНР. с Перлом совсем не знаком.
Не поможите перевести этот код в код РНР. Очень прошу.

$text_tmp = $text;
#замена по шаблону
$text_tmp=~s/[.\D]{1,3}\.? ?\d\d-?\d\d-?\d\d/ ggggg /g;
$text_tmp=~s/[ \.\,\?\!\:\;]\d\-[.\D]{1,5}\. ?[.\D]{1,5}\.?[ \.\,\?\!\:\;]|[ \.\,\?\!\:\;][\d]{1,4} ?.\..?\.?|[.\D]{1,2}\. ?[.\D]{3,5}[ \.\,\?\!\:\;]\./ ggggg /g;
$text_tmp=~s/[ \.\,\?\!\:\;].\-..?[ \.\,\?\!\:\;]|[ \.\,\?\!\:\;].{1}\/.{1}[ \.\,\?\!\:\;]/ ggggg /g;
$text_tmp=~s/.{3,4}\-?[\d]{3,6}/ ggggg ggggg /g;
$text_tmp=~s/[ \.\,\?\!\:\;]..?[ \.\,\?\!\:\;]/&/g;
$text_tmp=~s/[ \.\,\!\?\-]/&/g;
$text_tmp=~s/&.{1,2}&/&/g;
$text_tmp=~s/&{1,}/&/g;
#$text_tmp=~s/&..?&?/&/g;

#print $text_tmp;
@sd = split(/&/, $text_tmp);
$sch = 0;
#подсчет кол-ва слов
foreach(@sd)
    {
        $sch++;
    }
    

Автор: chaos 15.8.2006, 07:49
muratbek, так работаешь значит, что не можешь перевести.
s/// - аналог на ПХП вроде ereg_replace()
split он и в африке сплит
конструкция foreach(@sd) означает перебор всех элементов массива

вот и все!



Автор: Mal Hack 15.8.2006, 11:59
Цитата(chaos @  15.8.2006,  08:49 Найти цитируемый пост)
s/// - аналог на ПХП вроде ereg_replace()

"Вроде" это совсем другие паттерны.
preg_replace ему нужен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)