Forum Webscript.Ru

Программирование => PHP => Тема начата: Stek от 10 Ноября 2005, 21:49:36

Название: Перевод preg из перла
Отправлено: Stek от 10 Ноября 2005, 21:49:36
Помогите плиз разобратся, как на пхп изобразить выражения типа

Цитировать

$text=~s/(p[^>]*>)[-—]/$1–/g;
$text=~s/-(\\s)/–$1/g;
$text=~s/././g;


А то глаза на лоб от таких строк лезут
Название: Перевод preg из перла
Отправлено: CGVictor от 11 Ноября 2005, 10:30:55
Stek
Гм...если я правильно понимаю - то в ман
preg_match
preg_replace
Название: Перевод preg из перла
Отправлено: Макс от 11 Ноября 2005, 11:00:05
может я перл позабыл, но по-моему  первые 2 регекспа вообще не имеет никакого смысла.
Последний  меняет любой символ на точку
Название: Перевод preg из перла
Отправлено: Меняздесьдавнонет от 11 Ноября 2005, 11:06:39
Макс, а ты подписи не читаешь, что ли?
Название: Перевод preg из перла
Отправлено: hanslinger от 11 Ноября 2005, 11:11:15
Первый меняет длинное тире на дефис :)
Название: Перевод preg из перла
Отправлено: Stek от 11 Ноября 2005, 18:40:16
RomikChef: если нет что сказать, свали плиз из этого топика.

Я немного переформулирую вопрос, мне не надо знать что делает регексп, мне надо знать где у него что.

Например
Цитировать
$text=~s/(p[^>]*> )[-—]/$1–/g;

с $text ясно, в ней результат. А какая часть обозначает передеваемую для обработки строку ?
Т.е. как вся эта хрень будет выглядеть в пхп варианте ?
Название: Перевод preg из перла
Отправлено: hanslinger от 11 Ноября 2005, 18:52:07
Вот так:
$text=str_replace(\'—\',\'-\',$text);
Где (http://perldoc.perl.org/perlop.html#s%2fPATTERN%2fREPLACEMENT%2fegimosx) у него что.
Название: Перевод preg из перла
Отправлено: Stek от 11 Ноября 2005, 19:01:15
Вот за "Где" огромное спасибо, именно это и надо было.
Название: Перевод preg из перла
Отправлено: hanslinger от 11 Ноября 2005, 19:52:45
[OFF]Ну вот. Еще одно доброе дело. Показал "безбашенному РНРшнику" силу яндекса.[/OFF]