PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (5): « 1 2 3 [4] 5 »
Найдено сообщений: 72
duhon
Отправлено: 20 Января, 2014 - 10:46:55 • Тема: Регулярка • Форум: Регулярные выражения
Ответов: 4 Просмотров: 255
sublime text неимею, но я так понял проблема в строке
"Ботинки теплые (08.01.2014) замш (2014) новье" которая превращаеться в "Ботинки теплые (08.01.2014, купить) замш (2014, купить) новье" а нужно "Ботинки теплые (08.01.2014) замш (2014, купить) новье"
попробуй так
duhon
Отправлено: 10 Января, 2014 - 11:35:17 • Тема: Замена слова между пробелами/началом или концом строки • Форум: Регулярные выражения
Ответов: 8 Просмотров: 547
помоему все просто
PHP:
скопировать код в буфер обмена
<?PHP
'text #var' ,
'#bar text' ,
'text #blog text' ,
'text#blog' ,
'text #blogs' ,
'#blog 1' ,
'text #blogs text' ,
"multi lines\n #blog text" ,
"multi lines\n text #blog\n text" ,
'русс#blogрусс'
) ;
'rav' => '/\B#var\b/iu' ,
'rab' => '/\B#bar\b/iu' ,
'glob' => '/\B#blog\b/iu'
) ;
//пример для unicode входящей строки, иначе \b для кирилицы не сработает
//результат
/*Array
(
[0] => text rav
[1] => rab text
[2] => text glob text
[3] => text#blog
[4] => text #blogs
[5] => glob 1
[6] => text #blogs text
[7] => multi lines
glob text
[8] => multi lines
text glob
text
[9] => русс#blogрусс
)
*/
duhon
Отправлено: 16 Декабря, 2013 - 10:22:57 • Тема: Нужна помощь в регулярном выражении • Форум: Регулярные выражения
Ответов: 1 Просмотров: 157
вообще регулярка тут нормально поможет только с нахождением site.ru в href, а остальные условия уже для парсера html
могу предложить очень теоретический вариант
в исходный текст я добавил предпологаемый </tr> на который привязался
PHP:
скопировать код в буфер обмена
$html = "<tr>
<td><a href='/simplesearch?domainsimple=site1.ru&fromadvs=1'>site.ru</a></td>
<td><font color='green'>трали вали</font><div style='margin: 3px 0 3px 0;'><a style='font-size: x-small; color: green;' target='_blank' href='https://www.nic.ru/manager/registration.cgi?ipartner=3140&step=new_srv.select_pack&new_domain=site.ru&Next=1&rst=all' title='site.ru трали вали'>трали валиŒ <img border='0' src='/img/green.gif'></a></div></td>
<td>
<font style='color: #f5989d;'>нет IP</font>
</td>
</tr><tr>
<td><a href='/simplesearch?domainsimple=site2.ru&fromadvs=1'>site2.ru</a></td>
<td><font color='green'>Свободен</font><div style='margin: 3px 0 3px 0;'><a style='font-size: x-small; color: green;' target='_blank' href='https://www.nic.ru/manager/registration.cgi?ipartner=3140&step=new_srv.select_pack&new_domain=site.ru&Next=1&rst=all'>трали валиŒ <img border='0' src='/img/green.gif'></a></div></td>
<td>
<font style='color: #f5989d;'>IP 13135131385135</font>
</td>
</tr>
<tr>
<td><a href='/simplesearch?domainsimple=site3.ru&fromadvs=1'>site.ru</a></td>
<td><font color='green'>трали вали</font><div style='margin: 3px 0 3px 0;'><a style='font-size: x-small; color: green;' target='_blank' href='https://www.nic.ru/manager/registration.cgi?ipartner=3140&step=new_srv.select_pack&new_domain=site.ru&Next=1&rst=all'>трали валиŒ <img border='0' src='/img/green.gif'></a></div></td>
<td>
<font style='color: #f5989d;'>нет IP</font>
</td>
</tr>" ;
if ( preg_match ( '%(?<=<a\shref=["\']/simplesearch\?domainsimple=)[^&]+(?=(?:(?!</tr>).)*?нет\sIP</font>\s*</td>\s*</tr>)%s' , $html , $regs ) ) { $result = $regs [ 0] ;
}
duhon
Отправлено: 03 Декабря, 2013 - 12:06:12 • Тема: регулярное выражение замены в тегах • Форум: Регулярные выражения
Ответов: 3 Просмотров: 332
к первому вопросу придумал такое. (тут явно можно пооптимизировать избавившись от второго прега в пользу str_replace c масивами)
PHP:
скопировать код в буфер обмена
$str = "<a href='http://site.com' title='abc' ppts='fsaf' id='href' class='a'>ABCDE</a>" ;
return '&' . ord ( $char [ 0 ] ) . ';' ; } , $tag [ 0] ) ;
} , $str ) ;
к второму вопросу придумал такую регулярку
duhon
Отправлено: 27 Ноября, 2013 - 10:56:16 • Тема: парсер • Форум: Регулярные выражения
Ответов: 7 Просмотров: 698
вариант с регулярками и без разделения на 2 массива
PHP:
скопировать код в буфер обмена
$str = 'ESS Update (Windows; U; 32bit; PVT F; BPC 7.0.302.26; OS: 6.1.7601 SP 3.0 NT; TDB 15680; CL 1.1.1; x64c; APP ess; BEO 1; ASP 0.0; FW 0.0; PX 0; PUA 1; RA 0; HWF: 01007068-8092-2C19-E928-E76E51C8CA5E; PLOC ru; PCODE 110.0.0; PAR 0; ATH 2; DC 0)' ;
результат будет
CODE (
htmlphp ):
скопировать код в буфер обмена
(
[ Windows] =>
[ U] =>
[ 32bit] =>
[ PVT] => F
[ BPC] => 7. 0. 302. 26
[ OS] => 6. 1. 7601 SP 3. 0 NT
[ TDB] => 15680
[ CL] => 1. 1. 1
[ x64c] =>
[ APP] => ess
[ BEO] => 1
[ ASP] => 0. 0
[ FW] => 0. 0
[ PX] => 0
[ PUA] => 1
[ RA] => 0
[ HWF] => 01007068- 8092 - 2C18- E928- E76E51C8CA5E
[ PLOC] => ru
[ PCODE] => 110. 0. 0
[ PAR] => 0
[ ATH] => 2
[ DC] => 0
)
duhon
Отправлено: 29 Января, 2012 - 13:30:20 • Тема: Изменение атрибутов ссылки • Форум: Регулярные выражения
Ответов: 6 Просмотров: 585
тогда походу проще воспользваться PHP Simple HTML DOM Parser или аналогами в парсенге дум модели.
Например из мануала
PHP:
скопировать код в буфер обмена
$html = file_get_html( 'http://www.google.com/' ) ;
// Find all links
foreach ( $html -> find ( 'a' ) as $element )
echo $element -> href . '<br>' ;
Тамже найдешь и замену и любые атрибуты и их значения.
Страниц (5): « 1 2 3 [4] 5 »
Powered by ExBB FM 1.0 RC1. InvisionExBB