[php] не могу составить регулярку для цитирования

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

[php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-27 19:11:40

ну, собсно есть некий текст из почты:

Код: Выделить всё

On 2013-11-11 13:16:47 -0500, Nicholas McKenzie wrote:
> But wouldn't this just disable frequency scaling and the whole
> point of powerd?

No.  acpi_throttle (and p4tcc) controls T-state.  \"Frequency scaling\"
should be done by changing P-state.
задача сделать его таким

Код: Выделить всё

On 2013-11-11 13:16:47 -0500, Nicholas McKenzie wrote:
[qoute]> But wouldn't this just disable frequency scaling and the whole
> point of powerd?[/quote]

No.  acpi_throttle (and p4tcc) controls T-state.  \"Frequency scaling\"
should be done by changing P-state.
максимум что я настругал - это как вырезать кусок

Код: Выделить всё

$textPlain = Trim(Preg_Replace('#^>(.*)$#m', '',$textPlain));
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-27 20:08:14

Код: Выделить всё

$textPlain = Trim(Preg_Replace('/>(.*)\n/i', "[quote]>\\1[/quote]\n",$textPlain));
а вот так оно каждую строчку отдельно цитирует
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-27 20:10:44

не, ну как высшую степень изврата, можно сделать замену

Код: Выделить всё

[/quote]\n[quote] -> \n
но чё-то идея такая меня не впечатляет нифига...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение FreeBSP » 2014-01-27 23:40:41

Код: Выделить всё

/\n(\>.+(\n\>.+)*)/
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение FreeBSP » 2014-01-28 17:16:18

Работаить?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-30 19:51:26

FreeBSP писал(а):

Код: Выделить всё

/\n(\>.+(\n\>.+)*)/
аццкий сотона! воркает!
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-31 13:08:49

плохой шаман, аднако...

Код: Выделить всё

bkp0# cat /tmp/a.php
<?php

$textPlain = "
On 2013-11-11 13:16:47 -0500, Nicholas McKenzie wrote:
> But wouldn't this just disable frequency scaling and the whole
> point of powerd?

No.  acpi_throttle (and p4tcc) controls T-state.  \"Frequency scaling\"
should be done by changing P-state.

> On Mon, Nov 11, 2013 at 1:46 AM, Stefan Esser <se@freebsd.org>
> wrote:
>>
>> Am 10.11.2013 22:46, schrieb Nicholas Stewart McKenzie:
>>> My computer crashes if I enable powerd. I can't get cpu freq
>>> scaling to work with my cpu:(P.S. I sent this to both drivers
>>> and amd64 mailing list...
>
> test line
>

I rewrote acpi_throttle.c at some point to fix the problem but never
committed it because nobody was really interested in testing the
patch.  Also, it is really an arcane and archaic feature:

http://software.intel.com/en-us/blogs/2013/10/15/c-states-p-states-where-the-heck-are-those-t-states


";


#$textPlain = Trim(Preg_Replace('/>(.*)\n/i', "[quote]>\\1[/quote]\n",$textPlain));
#$textPlain = preg_replace("/\r/", "\n",$textPlain);
#$textPlain = trim(preg_replace('/[\n]+/m',"\n",$textPlain));
$textPlain = Trim(Preg_Replace('/\n(\>.+(\n\>.+)*)/',"\n[quote]\\1[/quote]",$textPlain));

echo $textPlain;


?>

глянь чё с test line получается:

Код: Выделить всё

>
[quote]> test line[/quote]
>
Убей их всех! Бог потом рассортирует...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение FreeBSP » 2014-01-31 13:55:12

все правильно, все работает ровно по плану, шаман сделал буквально то, что просили :smile:
в исходном примере пустых цитируемых строк не было, наверное поэтому такую ситуацию не учел..

Код: Выделить всё

$textPlain = Trim(Preg_Replace('/\n(\>.*(\n\>.*)*)/',"\n[quote]\\1[/quote]",$textPlain));
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [php] не могу составить регулярку для цитирования

Непрочитанное сообщение Alex Keda » 2014-01-31 19:09:39

ага, пасиба
Убей их всех! Бог потом рассортирует...