PDA

Просмотр полной версии : [Регулярки & Mod_Rewrite] Задай вопрос, получи ответ.


Страницы : 1 2 3 4 [5]

GlooK
14.02.2010, 19:57
Здравствуйте знатоки.
Вопрос от телезрителя.

У меня на страничке много <cite> site.ru - </cite>
Нужно отпарсить все URL, (site.ru), и записать их в файл (Запись и т.п. сам сделаю), нужна лишь регулярка, которая это всё вынесет в PHP.

На кону 0 руб, 0 копеек :)

<?php
if (preg_match_all('/\<cite\>(.*?)\<\/cite\>/', $result, $temp)) {
$handle = fopen('./text.txt', 'a');
foreach($temp[1] as $tempdata => $site) {
fwrite($handle, $site."\n");
}
fclose($handle);
}
?>

felix_
15.02.2010, 03:17
felix_

<?php

$answer = "<br/><br/>
1
<br/><br/>
2
<br/><br/>";

preg_match('#<br/><br/>\s+.+\s+<br/><br/>\s+(.+)\s+<br/><br/>#i',$answer,$count);

print_r($count);

?>



да, с 2 работает а если такой answer?вырезать получается надо [Мы всё соб] ... [ лежать]
$answer = " <span class=label>Кому:</span> <a href=id64xxxx098>xxxна</a><br/>
<span class=label>Дата:</span> 13 фев 2010 в 23:04<br/><br/>
<span class=label>Тема:</span> Re(6): ...<br/><br/>
Мы всё собираемся собираемся, а никак собраться не можем!!!!!!!Тебе сколько ещё лежать<br/><br/>
<span class=label>Ответить:</span><br/>
<textarea rows=5 cols=17 name=message></textarea><br/>";

Compton
15.02.2010, 12:27
felix_
дык покажи,что надо выдернуть конкретно

felix_
15.02.2010, 23:59
Мы всё собираемся собираемся, а никак собраться не можем!!!!!!!Тебе сколько ещё лежать

D0S
16.02.2010, 16:51
помогите с регуляркой.

имеется
radioshow|http://site.ru/1.mp3
radioshow|http://site.ru/2.mp3||WPPufhw

как вытащить ссылки
http://site.ru/1.mp3
http://site.ru/2.mp3
:(

draliokero
16.02.2010, 20:35
D0S,

$data = "radioshow|http://site.ru/1.mp3
radioshow|http://site.ru/2.mp3||WPPufhw";
preg_match_all("#radioshow\|(.*\.mp3)#i",$data,$matches);

echo "<pre>";
print_r($matches);


felix_,

$answer = '<span class=label>Кому:</span> <a href=id64xxxx098>xxxна</a><br/>
<span class=label>Дата:</span> 13 фев 2010 в 23:04<br/><br/>
<span class=label>Тема:</span> Re(6): ...<br/><br/>
Мы всё собираемся собираемся, а никак собраться не можем!!!!!!!Тебе сколько ещё лежать<br/><br/>
<span class=label>Ответить:</span><br/>
<textarea rows=5 cols=17 name=message></textarea><br/>';

preg_match("#Тема.*<br/>\s+(.*)#i",$answer,$matches);

print_r(strip_tags($matches[1]));

Buffalon
17.02.2010, 01:52
http://5ka.ru//3/5153/1.html

Как мне отсюда достать 3 ??????которая после слеша

Solker
17.02.2010, 02:11
http://5ka.ru//3/5153/1.html

Как мне отсюда достать 3 ??????которая после слеша

#http://5ka\.ru//(.+?)/[0-9]+/.+\.html#i

Pashkela
17.02.2010, 02:17
<?php
$host = "http://5ka.ru//3/5153/1.html";
preg_match("|^http:\/\/.*\/\/([0-9]+)\/|",$host,$a);
print_r ($a[1]);
?>

#Wolf#
18.02.2010, 14:05
имеем:

http://site.ru/page=about
http://site.ru/?news&id=1
http://site.ru/?products&id=1

нужно:

http://site.ru/about
http://site.ru/news/1
http://site.ru/products/1

спасибо :)

krypt3r
18.02.2010, 16:01
mod_rewrite

RewriteRule ^about$ /?page=about
RewriteRule ^(.+)/(.*)$ /?$1&id=$2

Что-то типа.

geforce
20.02.2010, 00:32
Пользуюсь регуляркой в первые! Подскажите?

Есть html код который нада вырезать :

<div class="audioRow" id="audio72620190"> <a name='72620190'></a> <table width="100%"><tbody> <tr><td style="width: 20px; vertical-align:top"> <img class="playimg" onclick="return operate(72620190,'http://cs4532.vkontakte.ru/u7309745/audio/63d88b575624.mp3',440);" id="imgbutton72620190" nosorthandle="true" src="images/play.gif"/> </td> <td style="width: 360px;"><div class="audioTitle"> <b id="performer72620190"><a href='gsearch.php?section=audio&c[q]=О. Почепа'>О. Почепа</a></b><span>&nbsp;-&nbsp;</span><span id="title72620190">Те Кто Меня (Master House Remix 2009)</span> </div> <div class="duration">7:20</div> </td> </tr> </tbody></table> <div style="height:14px;margin-left:28px;"> <div id="line72620190" class="playline"></div> <div id="toddler72620190" class="toddler"> </div> <div id="player72620190" style="display: none;" class="playerClass"> </div> </div> <div id="lyrics72620190"></div> </div>

С чего начать?

Solker
20.02.2010, 00:43
geforce

#(.*)#

b3
20.02.2010, 17:22
Пользуюсь регуляркой в первые! Подскажите?

Есть html код который нада вырезать :

<div class="audioRow" id="audio72620190"> <a name='72620190'></a> <table width="100%"><tbody> <tr><td style="width: 20px; vertical-align:top"> <img class="playimg" onclick="return operate(72620190,'http://cs4532.vkontakte.ru/u7309745/audio/63d88b575624.mp3',440);" id="imgbutton72620190" nosorthandle="true" src="images/play.gif"/> </td> <td style="width: 360px;"><div class="audioTitle"> <b id="performer72620190"><a href='gsearch.php?section=audio&c[q]=О. Почепа'>О. Почепа</a></b><span>&nbsp;-&nbsp;</span><span id="title72620190">Те Кто Меня (Master House Remix 2009)</span> </div> <div class="duration">7:20</div> </td> </tr> </tbody></table> <div style="height:14px;margin-left:28px;"> <div id="line72620190" class="playline"></div> <div id="toddler72620190" class="toddler"> </div> <div id="player72620190" style="display: none;" class="playerClass"> </div> </div> <div id="lyrics72620190"></div> </div>

С чего начать?

Вопрос не полный, ЧТО именно вырезать и пример ОТКУДА. На вскидку я догадываюсь что тебя интересует ссылка на мп3 файл, описание.


<?php
$str = <<<HTML
<div class="audioRow" id="audio72620190"> <a name='72620190'></a> <table width="100%"><tbody> <tr><td style="width: 20px; vertical-align:top"> <img class="playimg" onclick="return operate(72620190,'http://cs4532.vkontakte.ru/u7309745/audio/63d88b575624.mp3',440);" id="imgbutton72620190" nosorthandle="true" src="images/play.gif"/> </td> <td style="width: 360px;"><div class="audioTitle"> <b id="performer72620190"><a href='gsearch.php?section=audio&c[q]=О. Почепа'>О. Почепа</a></b><span>&nbsp;-&nbsp;</span><span id="title72620190">Те Кто Меня (Master House Remix 2009)</span> </div> <div class="duration">7:20</div> </td> </tr> </tbody></table> <div style="height:14px;margin-left:28px;"> <div id="line72620190" class="playline"></div> <div id="toddler72620190" class="toddler"> </div> <div id="player72620190" style="display: none;" class="playerClass"> </div> </div> <div id="lyrics72620190"></div> </div>
HTML;


if(preg_match('#(http://.*\.mp3).*<span id="title.*">(.*)</span>.*<div class="duration">(.*)</div>#Uis', $str, $m))
echo "<a href='$m[1]'>$m[2] [$m[3]]</a>";
?>

Выводит : ссылка [длинна трека]
Те Кто Меня (Master House Remix 2009) [7:20]

0ldbi4
21.02.2010, 19:57
<div class="itemtext nop "style="margin-left:0">
<img src="/img/status/xStatus_14.gif" alt="Статус" title="Статус" height="15" width="16"/>
Прихожу в себя ...
<div class="infobar"><div class="source ">
<a href="/msg/52678751">более 5 часов назад</a> через <a class="nobg" href="http://qip.ru/ru/pages/download_infium_ru/" title="QIP Infium">qip</a></div>
<div class="fr small">
<a class="msg_ans_ie6fl" href="/msg/52678751" onclick="return login('/msg/52678751');">ответить</a> </div>

В регулярках мало что понимаю помогите выпарсить отмеченные данные.

Compton
22.02.2010, 01:33
<?php
$text='<div class="itemtext nop "style="margin-left:0">
<img src="/img/status/xStatus_14.gif" alt="Статус" title="Статус" height="15" width="16"/>
Прихожу в себя ...
<div class="infobar"><div class="source ">';
preg_match('#<img src="(.*)" alt="Статус" title="Статус" height="15" width="16"/>#',$text,$m);
preg_match('#<img src=".*" alt="Статус" title="Статус" height="15" width="16"/>\s\r\n(.*)<div class="infobar"><div class="source ">#s',$text,$t);
echo "$t[1] $m[1]";
?>

уже хочется спать

b3
22.02.2010, 05:31
<?php
$data = <<<HTML
<div class="itemtext nop "style="margin-left:0">
<img src="/img/status/xStatus_14.gif" alt="Статус" title="Статус" height="15" width="16"/>
Прихожу в себя ...
<div class="infobar"><div class="source ">
<a href="/msg/52678751">более 5 часов назад</a> через <a class="nobg" href="http://qip.ru/ru/pages/download_infium_ru/" title="QIP Infium">qip</a></div>
<div class="fr small">
<a class="msg_ans_ie6fl" href="/msg/52678751" onclick="return login('/msg/52678751');">ответить</a> </div>
HTML;

if(preg_match('#<img src="(.*)" alt="Статус" title="Статус" height="15" width="16"/>(.*)<div#Uis', $data, $m))
echo 'Статус-ссылко: <b>'.$m[1].'</b><br>Статус-текст<b>'.$m[2].'</b>';
?>

programming
22.02.2010, 16:41
Нужна регулярка для универсального выдирания ссылок из html.
Спасибо.

b3
22.02.2010, 16:44
'#<a[^>]*? href="(.*)"#'

programming
22.02.2010, 18:22
Далеко не универсально..

b3
22.02.2010, 20:07
Чтоб не разводить на 15 топиков, можно было б с своем посте написать что именно тебе не нравится в регулярке, и получить ответ.

j0ker13
23.02.2010, 03:08
реально ли составить регулярку на проверку одинаковых знаков?
например: 11111, 55555555

Compton
23.02.2010, 14:08
j0ker13

<html>
<form id="form1" name="form1" method="post" action="">
<input name="text" type="text" id="text" />
<input type="submit" name="Submit" value="Submit" />
</form>

</html>
<?
$text=$_POST['text'];
if(preg_match('/1{2,}|2{2,}|3{2,}|4{2,}|5{2,}|6{2,}|7{2,}|8{2,}|9{ 2,}|0{2,}/',$text)){
echo "good";
}else{
echo "bad";
}
?>

SeNaP
25.02.2010, 14:39
Как будет правельно ?
$s=preg_replace('#<a href="pic.php?namesid=(.*);name=(.*);">(.*)</a>#iU','',$s);
(.*) - неизвестно т.е. меняется с каждым разом

Pashkela
25.02.2010, 15:35
<?php
$s = '
текст1<a href="pic.php?namesid=1;name=вася;">вася</a>
текст2<a href="pic.php?namesid=2;name=петя;">петя</a>
текст3<a href="pic.php?namesid=3;name=егор;">егор</a>
';
$s = preg_replace('#<a href="pic.php\?namesid=.*;name=.*;">.*</a>#iU','',$s);
echo $s;
?>

SeNaP
25.02.2010, 17:39
Есть что то типа этого


$s='<b>Вася</b>';
$s = preg_replace('#<b>.*</b>#iU','\\1',$s);
echo $s //Вася

Нам вернёт "Вася" .
А как сделать, чтобы вернуло просто теги "<b></b>" ?

Pashkela
25.02.2010, 17:56
<?php
$string = '<b>вася</b>';
echo preg_replace('#(<b>)(.*)(</b>)#i', '${1}$3', $string);
?>


вкуривай уже)

http://php.net/manual/en/function.preg-replace.php

SeNaP
25.02.2010, 18:08
<?php
$string = '<b>вася</b>';
echo preg_replace('#(<b>)(.*)(</b>)#i', '${1}$3', $string);
?>


вкуривай уже)

http://php.net/manual/en/function.preg-replace.php
Благодарю )
Пошёл курить

SeNaP
26.02.2010, 21:01
Добрый вечер )

<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<div style="border-bottom:1px #a4cef2 solid; height:8px;"><a href="http://wap.plus1.wapstart.ru/"><img style="margin:0px; padding:0px; vertical-align:top; border:none;" alt="#" width="67" height="8" src="http://ro.plus1.wapstart.ru/banner_images/static/adverst-logo.gif"/></a></div>
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_972941 605af8978e90f11a6647717cd9498d7a37&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Я люблю, когда больно! Ударь меня!</a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span>
</p>
</div>
<img src="http://ro.plus1.wapstart.ru//?area=counter&amp;clientSession=15d1845489238a3b5c971c 1336cfbcc49e0e85be&amp;bannerId=6593&amp;site=563" alt="" style="display: none; position:absolute;"/>

<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1 3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Истекаю соком! Звони! Маша </a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span>
</p>
</div>

Пробую вырезать такой код вот так вот

$s=preg_replace('#<div style="background-color: \#ffffff; border: solid 1px \#ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">(.*)</div>#iU','',$s);

Где у меня ошибка?
Помогите пожалуйста

Compton
26.02.2010, 21:08
что вытащить надо?
я так понимаю,что тебе надо вырезать это

<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1 3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Истекаю соком! Звони! Маша </a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span>
</p>

SeNaP
26.02.2010, 21:18
мне нужно целый код вырезать , вот я и пытался резать от сех

<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">

до сех

</div>

т.е. до самого конца
а про это, '',$s); это я так вырезаю :D

Pashkela
26.02.2010, 21:47
<?php
$string = '
dfgfdgdfgdfg
dfgdfgdfgdfgf
dgdfgfdgdfgdfg
<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<div style="border-bottom:1px #a4cef2 solid; height:8px;"><a href="http://wap.plus1.wapstart.ru/"><img style="margin:0px; padding:0px; vertical-align:top; border:none;" alt="#" width="67" height="8" src="http://ro.plus1.wapstart.ru/banner_images/static/adverst-logo.gif"/></a></div>
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_972941 605af8978e90f11a6647717cd9498d7a37&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 1</a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span>
</p>
</div>
<img src="http://ro.plus1.wapstart.ru//?area=counter&amp;clientSession=15d1845489238a3b5c971c 1336cfbcc49e0e85be&amp;bannerId=6593&amp;site=563" alt="" style="display: none; position:absolute;"/>

<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1 3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 2 </a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон1</span>
</p>
</div>
lflflflf
fdgfsgfsdg
sdgsfdgsdg
dsgsdgdsfg
';
echo preg_replace('#(<div.*<p.*<img.*</div>)#Uis','',$string);
?>

SeNaP
26.02.2010, 21:56
<?php
$string = '
dfgfdgdfgdfg
dfgdfgdfgdfgf
dgdfgfdgdfgdfg
<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<div style="border-bottom:1px #a4cef2 solid; height:8px;"><a href="http://wap.plus1.wapstart.ru/"><img style="margin:0px; padding:0px; vertical-align:top; border:none;" alt="#" width="67" height="8" src="http://ro.plus1.wapstart.ru/banner_images/static/adverst-logo.gif"/></a></div>
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_972941 605af8978e90f11a6647717cd9498d7a37&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 1</a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span>
</p>
</div>
<img src="http://ro.plus1.wapstart.ru//?area=counter&amp;clientSession=15d1845489238a3b5c971c 1336cfbcc49e0e85be&amp;bannerId=6593&amp;site=563" alt="" style="display: none; position:absolute;"/>

<div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
<p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
<a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1 3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f 93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 2 </a>
<br />
<span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон1</span>
</p>
</div>
lflflflf
fdgfsgfsdg
sdgsfdgsdg
dsgsdgdsfg
';
preg_match_all('#(<div.*<p.*</div>)#Uis', $string, $res);
print_r ($res[0][0]);
print_r ($res[0][1]);
?>


Спасибо огромное :)
Я просто регулярное выражение не мог составить

Pashkela
26.02.2010, 21:57
не-не-не, подправил предыдущий пост

SeNaP
26.02.2010, 22:00
не-не-не, подправил предыдущий пост
я так и сделал :)

Pashkela
26.02.2010, 22:02
там другая децл регулярка

SeNaP
26.02.2010, 22:05
там другая децл регулярка
да я заметил :D
Я просто шаблон составить не мог.
Огромное спасибо тебе :)

Dark_cracker
27.02.2010, 01:11
есть файл с записями
site: site.ru
name: user
pass: 0c4a8asdwef83b8dbabab72f02ebe51

site: site.biz
name: admin12
pass: 61234acc960f3a570897e1172e5e2481
написал такую регулярку

preg_match_all('#pass: (.*){32}#is',$file,$log);
она выдерает всё подрят (( как мне сделать чтоб она тока 32 символа выдрала из каждой строки ???

Doom123
27.02.2010, 01:27
1 s (PCRE_DOTALL)
Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк. Этот модификатор эквивалентен записи /s в Perl. Класс символов, построенный на отрицании, например [^a], всегда соответствует переводу строки, независимо от наличия этого модификатора.

2 * - ниль или больше а {} - колво повторений ты так сказать запутал регулярку та ещё и не в том месте фигурные скобки поставил ... они должны идти после того спец символа который будет повторятся =)

preg_match_all('#pass: (.{32})#i',$file,$log);

может так?

Pashkela
27.02.2010, 01:31
если речь о md5 hash

preg_match_all('|[a-f0-9]{32}|is',$file,$log);

Palanik
28.02.2010, 13:28
Есть файл в html, мне нужно выделить строки в которых встречается код "ei"
выделяю - .*"ei".*
А теперь мне нужно удалить все строки кроме указаных выше. Сколько перечитал нигде не могу найти как это сделать, помогите знатоки.

Komyak
02.03.2010, 22:27
Помогите составить регулярку. Мне нужно распарсить со страницы номера телефонов:

<br />(4932) 49-02-45, 45-51-07<br />
<br />49-02-45, 45-51-07<br />
<br />(4932) 490-245, 455-107<br />
<br />490-245, 455-107<br />

Это 4 разных примера встречающихся на страницах. Пытался выдернуть с помощью:
|/\((\d{3,5})\)\s+(\d{2}-\d{2}-\d{2})/|is
Но толку нет. Поскажите.

Compton
02.03.2010, 23:06
Komyak

<?php
$text="<br />(4932) 49-02-45, 45-51-07<br />
<br />49-02-45, 45-51-07<br />
<br />(4932) 490-245, 455-107<br />
<br />490-245, 455-107<br />";
echo strip_tags($text);
?>

Komyak
03.03.2010, 16:30
Compton, нужна именно регулярка. Я указал примеры между тегами <br/>, так номера всегда расположены между ними- а strip_tags все теги но оставит кучу мусора в виде стороннего текста.

Palanik
03.03.2010, 22:07
Compton, нужна именно регулярка. Я указал примеры между тегами <br/>, так номера всегда расположены между ними- а strip_tags все теги но оставит кучу мусора в виде стороннего текста.

Держи - /(?!:\A|\s)(?!(\d{1,6}\s+\D)|((\d{1,2}\s+){2,2}))(( (\+\d{1,3})|(\(\+\d{1,3}\)))\s*)?((\d{1,6})|(\(\d{ 1,6}\)))\/?(([ -.]?)\d{1,5}){1,5}((\s*(#|x|(ext))\.?\s*)\d{1,5})?(?! :(\Z|\w|\b\s))/gm - только без запятых выдернет. :( - вместо смайла, ну ты понял :)

Compton
04.03.2010, 10:10
регулярки за 100500 строк
Komyak,добавь перед первым < /br> еще тег и после последнего < /br>,допусти это <p> и </p>
потом вот так preg_match('/<p>(.*)<\/p>/',$text,$m); echo strip_tags($m[1]);

IgrikX
07.03.2010, 14:31
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>

Как из этой строки вытащить aid, oid и hash?

expee
07.03.2010, 15:05
import re

h = """<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>"""
j = re.search("aid:(?P<aid>\d+),oid:(?P<oid>\d+) ,hash:'(?P<hash>\w+)'", h)
print j.groups()
('73997023', '66812379', '4284ff74a2fa5248ba79500ef5f9388c')


Или вот так на Perl:
#!/usr/bin/perl

$h = <<EOF;
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
EOF

$h =~ /aid:(\d+),oid:(\d+) ,hash:'(\w+)'/;

print "aid: $1\n";
print "oid: $2\n";
print "hash: $3\n";
aid: 73997023
oid: 66812379
hash: 4284ff74a2fa5248ba79500ef5f9388c

С PHP знаком плохо, но:
<?php
$s = <<<EOF
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
EOF;
preg_match_all("/aid:(?<aid>\d+),oid:(?<oid>\d+) ,hash:'(?<hash>\w+)'/", $s, $m);

echo "<p>aid: " . $m["aid"][0] . "</p>";
echo "<p>oid: " . $m["oid"][0] . "</p>";
echo "<p>hash: " . $m["hash"][0] . "</p>";
?>
aid: 73997023

oid: 66812379

hash: 4284ff74a2fa5248ba79500ef5f9388c

IgrikX
07.03.2010, 16:01
чёт не выходит.. пробую на php сделать...

<?php
$string = "<span style='color:#777777;'><a class='addAudioLink' href='' onclick='addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;'>Добавить</a></span>";
preg_match_all("/aid:(\d+),oid:(\d+) ,hash:'(\w+)'/", $string, $arr);
echo $arr;
?>

в чём проблема?

expee
07.03.2010, 16:24
чёт не выходит.. пробую на php сделать...
Обновил предыдущий пост.

IgrikX
07.03.2010, 16:29
нее.. не выходит.

b3
07.03.2010, 16:32
echo $arr;
в чём проблема?
Проблема в тебе, т.к. функция возвращает array


<?php
$str = <<<HTML
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
HTML;

if(preg_match('#gid:(\d+),aid:(\d+),oid:(\d+)#',$s tr,$m))
print_r($m);
?>

programming
08.03.2010, 17:39
Есть сайт. http://v-ctile.ru/
Под каждым дизайном есть кнопка "получить". При нажатии на неё выдаётся "Отправьте SMS-сообщение 838610 на номер 7122". Вот нужно спарсить 838610.
Спасибо.

Palanik
08.03.2010, 18:32
Есть сайт. http://v-ctile.ru/
Под каждым дизайном есть кнопка "получить". При нажатии на неё выдаётся "Отправьте SMS-сообщение 838610 на номер 7122". Вот нужно спарсить 838610.
Спасибо.
8..... - держи, выдерет любое шестизначное чило начинабщееся с восьми

programming
08.03.2010, 18:53
8..... - держи, выдерет любое шестизначное чило начинабщееся с восьми
Я вообще не могу понять даже откуда выдирать. Я так понимаю, что это окно JS..

Вопрос решён!!!

b3
09.03.2010, 03:54
8..... - держи, выдерет любое шестизначное чило начинабщееся с восьми
Вообщето данное выражение будет выдирать все подрят начиная с "8" длинною 6 символов, это может быть что угодно- пробел, символы, числа и тд.

Palanik
09.03.2010, 14:10
Вообщето данное выражение будет выдирать все подрят начиная с "8" длинною 6 символов, это может быть что угодно- пробел, символы, числа и тд.
Благодарю за дополнение.

SeNaP
09.03.2010, 18:31
Помогите разобраться с регуляркой

$upd = curl_init();

curl_setopt($upd, CURLOPT_URL, "http://".$user['url']);

curl_setopt($upd, CURLOPT_RETURNTRANSFER, 1);

$ress = curl_exec($upd);

curl_close($upd);

$ress = preg_replace('#(<meta name="description" content=")(.*)(">)#iU','$2',$ress);
echo $ress;

Нужно ,чтобы вывело то, что режется регуляркой .
А выводится то , что режется регуляркой и сам сайт.
Дак вот, как сделать так, чтобы выводилось ТОЛЬКО, то , что режется регуляркой ?

Compton
09.03.2010, 20:27
т.к. $ress является массивом,то нужно выводить его индекс

SeNaP
10.03.2010, 22:02
т.к. $ress является массивом,то нужно выводить его индекс
Спасибо :)
Теперь возник другой вопрос, уже 1.2 часа сижу "мозги" ломаю
Как вырезать из этой строки

http://www.google.ru/search?hl=ru&source=hp&q=antichat.ru&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=

что бы вернуло antichat.ru
Пробовал так

$a = preg_replace('#(&q=)(.*)(&b)#iU','$2',$a);
echo $a;

:(

Compton
10.03.2010, 22:10
Senap

<?php
$text="http://www.google.ru/search?hl=ru&source=hp&q=antichat.ru&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=";
preg_match('/q=(.*)&btnG/',$text,$m);
echo $m[1];
?>


UPD:
('#(&q=)(.*)(&b)#iU','$2',$a);
echo $a;

1. Название переменной не может быть цифровым
2. Я же сказал,что нужно индекс выводить

DTW
12.03.2010, 14:59
$pat ='#href=\"(/lv/work/are-required/today/page\d\.html)\"#is';
preg_match_all($pat,$string,$poc);



Проблема следующая
при поиске на совпадение линков
может быть 2 варианта


1) lv/work/are-required/today/page2.html
2) lv/work/are-required/today/


Вопрос как найти 2 вариант ипользую регулярку .

есть оператор альтернативы #\.txt|.doc#.

Isis
12.03.2010, 15:06
$pat ='#href=\"(/lv/work/are-required/today/page\d\.html)\"#is';
preg_match_all($pat,$string,$poc);



Проблема следующая
при поиске на совпадение линков
может быть 2 варианта



Вопрос как найти 2 вариант ипользую регулярку .

есть оператор альтернативы #\.txt|.doc#.

$pat ='#href=\"((/lv/work/are-required/today/)page\d\.html)\"#is';
preg_match_all($pat,$string,$poc);

Fepsis
14.03.2010, 21:46
Помогите с регуляркой для парсинга из текста MD5 хешей...
"#([a-f0-9]{32})#is" не подходит, так как определяет как хешь часть строки из символов [a-f0-9] длинной больше 32.. а мне не нужно это...

Если сделать так: "#[^a-f0-9]+([a-f0-9]{32})[^a-f0-9]+#is" то есть по бокам подставить как минимум по одному символу не из [a-f0-9], тогда не определяются хеши идущие подряд через пробел (другой символ)..
Подскажите.. :)

Omegа
15.03.2010, 00:01
Попробуй регулярку
~\b([a-f0-9]{32})\b~isU

programming
23.03.2010, 13:36
Есть регулярка:
preg_match_all('/http:\/\/?([^\/]+)\//i',$url, $regs);
Выдирает из ссылки домен. Но работает она только для ссылок, домен которых оканчивается слэшем(/).
Из ссылки вида http://lenta.ru - lenta.ru не будет выдернута.
Так вот каким образом можно составить регулярку, которая выдирала бы из ссылок http://lenta.ru - lenta.ru
Причём универсальность для всех ссылок не нужна. Регулярке будут подсовываться ссылки исключительно без слэша после домена.

m0Hze
23.03.2010, 13:45
Есть регулярка:
preg_match_all('/http:\/\/?([^\/]+)\//i',$url, $regs);
Выдирает из ссылки домен. Но работает она только для ссылок, домен которых оканчивается слэшем(/).
Из ссылки вида http://lenta.ru - lenta.ru не будет выдернута.
Так вот каким образом можно составить регулярку, которая выдирала бы из ссылок http://lenta.ru - lenta.ru
Причём универсальность для всех ссылок не нужна. Регулярке будут подсовываться ссылки исключительно без слэша после домена.

$url = 'http://ololoshenki.lo/params/?var=val';
$parse = parse_url($url);
print_r($parse);

Compton
23.03.2010, 13:46
<?php
$url='http://www.lenta.ru';
preg_match('/http:\/\/(www\.)?(.*)/i',$url, $n);
echo $n[2];
?>

SeNaP
24.03.2010, 10:46
Помогите составить регулярку, чтбы в шаблоне можно было использовать php код

$this->template = preg_replace( '/\{php\}(.*?)\{\/php\}/is',eval("$1"), $this->template);


Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /var/www/system/templates.class.php(40) : eval()'d code on line 1

d_x
24.03.2010, 12:05
$this->template = preg_replace( '/\{php\}(.*?)\{\/php\}/ise',"eval('\\1')", $this->template);

SeNaP
24.03.2010, 12:15
$this->template = preg_replace( '/\{php\}(.*?)\{\/php\}/ise',"eval('\\1')", $this->template);


Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/system/templates.class.php(40) : regexp code(1) : eval()'d code on line 1

Parse error: syntax error, unexpected $end in /var/www/system/templates.class.php(40) : regexp code(1) : eval()'d code on line 1

:(

d_x
24.03.2010, 13:01
<?php
$tpl=<<<HERE
наш пхп код (тут строка задом наперед): {php}return strrev('qwe');{/php}
<br>
а вот еще тест (дата и время): {php}return date('d.m.Y H:i:s');{/php}
HERE;

$tpl = preg_replace('/\{php\}(.*?)\{\/php\}/ise', "eval('\\1')", $tpl);

print $tpl;
?>

programming
24.03.2010, 23:02
Как составить регулярку, которая бы удаляла теги B и всё, что находится между ними?

Compton
24.03.2010, 23:07
<?php
$text='trololo <b>ololo</b>';
echo preg_replace('/<b>.*<\/b>/','', $text);
?>

programming
24.03.2010, 23:09
Спасибо.

Tesson
26.03.2010, 00:30
Как сделать через .htaccess
это name.com/images/foto.gif
на name.com/foto.gif ?

krypt3r
26.03.2010, 08:05
RewriteRule ^(.*\.gif)$ /photo/$1

либо

RewriteRule ^photo/(.*\.gif)$ /$1

смотря, что именно нужно

SeNaP
27.03.2010, 19:08
Так не работает
xhtml/6.info?ip

RewriteRule ^(xhtml|html)/([0-9]+)?((\.)(([a-z]+)))?((\?)(([a-z]+)))?(/)?$ /index.php?v=$1\&mod=$5\&id=$2\&item=$9\&%{QUERY_STRING}


а, когда подставляю точку


RewriteRule ^(xhtml|html)/([0-9]+)?((\.)(([a-z]+)))?((\.)(([a-z]+)))?(/)?$ /index.php?v=$1\&mod=$5\&id=$2\&item=$9\&%{QUERY_STRING}

xhtml/6.info.ip
Всё работает :confused:
и как еще сделать, чтобы нельзя было обратиться по такому адресу?

xhtml/?mod=info&id=6&item=ip

Помогите :(

c0rp$e
27.03.2010, 20:39
есть скрипт,
парсит значения полей icq и майл.


<?php
set_time_limit(0);
for($i=5000000; $i>1; $i--) {
$res = file_get_contents('http://*************'.$i);

preg_match('#<b>ICQ</b>: (.*?)<br />#i', $res, $m);
$icq = (isset($m[1])) ? $m[1]."\r\n" : '';
if($icq) {$fp = fopen('i.log', 'a'); fwrite($fp, $i.':'.$icq);}

preg_match('#<b>E-mail</b>: (.*?)<br />#i', $res, $m);
$mail = (isset($m[1])) ? $m[1]."\r\n" : '';
if($mail) {$fp = fopen('m.log', 'a'); fwrite($fp, $i.':'.$mail);}
}
?>




вопрос, какие должны быть значения preg_match
если нужно парсить в html коде:
1)
< t=имя Вася;>
(нужно выпарсить слово "Вася")



&; text=пошел гулять;>

(нужно выпарсить слово "пошел гулять"
но с учетом этого "&; text=", т.к если парсить просто по "text=" то в коде другие ненужны поля есть

)

InfectedM
28.03.2010, 00:12
подскажите плиз!
есть текст:
nserver: qwe1.server.ru.
nserver: qwe2.server.ru.
mail: server.ru
site: server.ru


Нужно найти все nserver тоесть:
qwe1.server.ru.
qwe2.server.ru.
вот что накатал:
RegExp.Expression := 'nserver:\s(.*)\.[a-zA-z]*\.[a-zA-Z]{2,5}(.+?)\.';

Просьба указать ошибку в моем примере ,а не писать свою,ибо нужно разобраться :)
Ps после \s нужно ставить звездочку или \s ищет любое кол-во пробелов?

Omegа
28.03.2010, 00:32
InfectedM, На PHP это выглядит примерно так:
<?php
$text = 'nserver: qwe1.server.ru.
nserver: qwe2.server.ru.
mail: server.ru
site: server.ru';
preg_match_all('~nserver: (.*)~i', $text, $regs);
print_r($regs[1]);
?>
Твой вариант впринципе почти правильный, но :
Зачем перед последней точкой нужно (.+?) ?
Почему домен третьего уровня может быть из любых символов, а первого и второго из [a-zA-Z] ?
Обязательно ли домен должен быть из трёх уровней?

P.S. Если хочешь разобраться - почитай книжки или статьи по регуляркам

Gifts
28.03.2010, 00:34
InfectedM Ошибка из-за (.+?)\. Имя домена верхнего уровня (в данном случае .ru) входит в предыдущую подмаску. .+ забирает любое количество символов (кроме символа перевода строки) , но не менее одного, а дальше регулярка пытается найти обычную точку и не может

SeNaP
29.03.2010, 14:10
на сайте есть реальная дирктория, например /forum/, как сказать мод-реврайту, чтобы он не обрабатывал этот конкретный урл?

krypt3r
29.03.2010, 15:08
Гляньте в сторону флага F

LASS0
29.03.2010, 23:40
как сделать чтобы логины записывались в 1й массив, а пароли во 2й

логин1:пароль1
логин2:пароль2
логин3:пароль3

както так.. но не работает :(
$login = split("#:(.*?)\n#", $text);
$pass = split("#\n(.*?):#", $text);

Compton
30.03.2010, 00:13
<?php
$text='логин1:пароль1
логин2:пароль2
логин3:пароль3';
preg_match_all('/(.*):(.*)/i',$text,$a);
print_r($a[1]);/// 1-логин,2-пароль
?>

#Wolf#
31.03.2010, 14:00
http://paste2.org/p/747648
надо выпарсить value и текст исключительно из
<select name="cid" onChange="checkRubr(this.value,'sel2');">
...
..
.
</select>
поэтому вариант типа: #<option value="([0-9]+)">(.*+)#i
не подойдет.

Compton
31.03.2010, 14:45
Wolf

<?php
$text='<option value="10">гостинки
<option value="11">1-комн. кв.
<option value="12">2-комн. кв.
<option value="13">3-комн. кв.' ;
preg_match_all('/<option value="(.+)">.+\r\n/',$text,$a);
print_r($a);
?>

-=lebed=-
31.03.2010, 15:47
Вопщем нужно сделать два сайта (вит.хоста) на одном IP. Стоит nginx+Fast-cgi+ssl

как правильно настроить Rewrite в конфиге nginx?

Нужно сделать так, что при любом http запросе к любому домену кидало в корни сайтов на скрипты redir.php, а от туда уже идёт переадресация по https протоколу на корневые индексы сайтов (index.php)

Чтоб было яснее привожу конфиг:

user www-data;
worker_processes 4;
worker_rlimit_nofile 32768;
error_log /var/log/nginx/error.log;

pid /var/run/nginx.pid;

events {
worker_connections 1024;

}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

limit_zone one $binary_remote_addr 10m;
limit_conn one 5;

access_log /var/log/nginx/access.log;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 60;
tcp_nodelay on;

gzip on;

server {
listen 80;
server_name site_name1;

fastcgi_intercept_errors on;

access_log /var/log/nginx/site_name1.access.log;

location / {

root /var/www;
#if (!-f $request_filename){
#if ($request_uri !~ google)
#rewrite ^.*$ /redir.php ;
#break;
#}
rewrite ^.*$ /redir.php ;

index index.html index.htm index_x.php index.php;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

#redirect /redir.php$ /.php

rewrite ^.*$ /redir.php;

#if ($request_uri !~ google)

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index redir.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
fastcgi_param HTTPS on;
include /etc/nginx/fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

server {
listen 80;
server_name site_name2;

fastcgi_intercept_errors on;

access_log /var/log/nginx/site_name2.access.log;

location / {

root /var/www/site_name2;
#if (!-f $request_filename){
#if ($request_uri !~ google)
#rewrite ^.*$ /redir.php;
#break;
#}
rewrite ^.*$ /redir.php;

index index.html index.htm index_x.php index.php;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/site_name2;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

#redirect /redir.php$ /.php

rewrite ^.*$ /redir.php ;

#if ($request_uri !~ google)

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index redir.php;
fastcgi_param SCRIPT_FILENAME /var/www/site_name2/$fastcgi_script_name;
fastcgi_param HTTPS on;
include /etc/nginx/fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
server {
listen 443;
server_name site_name1;
##
ssl on;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
#
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP;
ssl_prefer_server_ciphers on;
#
fastcgi_intercept_errors on;

access_log /var/log/nginx/site_name1.access.log;

location / {
root /var/www;
index index.html index.htm index_x.php index.php;
}


location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}


}

server {
listen 443;
server_name site_name2;
##
ssl on;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
#
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP;
ssl_prefer_server_ciphers on;
#
fastcgi_intercept_errors on;

access_log /var/log/nginx/site_name2.access.log;

location / {
root /var/www/site_name2;
index index.html index.htm index_x.php index.php;
}


location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/site_name2/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}


}
}


Щас в принципе почти всё работает, но в одном случае при запросе http://site_name2 редиректит на https://site_name2/site_name2

При запросе http://site_name2/бла-бла-бла любое - работает всё верно, т.е. выходим на http://site_name2/redir.php и там уже на пыхе редирект на https. Подскажите где косяк?

И второй вопрос: возможно ли сделать так чтоб вирт-хотсты на nginx работали по https с разными сертификатами и ключами?

#Wolf#
01.04.2010, 00:13
Wolf

<?php
$text='<option value="10">гостинки
<option value="11">1-комн. кв.
<option value="12">2-комн. кв.
<option value="13">3-комн. кв.' ;
preg_match_all('/<option value="(.+)">.+\r\n/',$text,$a);
print_r($a);
?>



поэтому вариант типа: #<option value="([0-9]+)">(.*+)#i
не подойдет.

у меня еще полно selecto'ov

Vlad&slav
03.04.2010, 22:22
Wolf

<?php
$text='

<select name="select">
<option value="dfcgh">dft</option>
<option value="fgb">dfghb</option>
<option value="fgh">f</option>
</select>


1.
<select name="cid" onChange="checkRubr(this.value,\'sel2\');"><option value="10">гостинки
2.
<option value="11">1-комн. кв.
3.
<option value="12">2-комн. кв.
4.
<option value="13">3-комн. кв.
5.
<option value="14">4-комн. кв.
6.
<option value="15">5-комн. кв.
7.
<option value="16">6-комн. кв.
8.
<option value="20">дома, коттеджи, дачи
9.
<option value="25">за рубежом
10.
<option value="30">земельные участки
11.
<option value="40">коммунальные квартиры
12.

13.
<option value="50">подселение
14.
<option value="60">помещения
15.
<option value="0">прочее
16.
</select><br><br>


<select name="select">
<option value="dfcgh">dft</option>
<option value="fgb">dfghb</option>
<option value="fgh">f</option>
</select>


<select name="select">
<option value="dfcgh">dft</option>
<option value="fgb">dfghb</option>
<option value="fgh">f</option>
</select>


';

$m = explode('select', $text);
foreach($m as $v) if(strstr($v, 'name="cid"')) $text = $v;
preg_match_all('/<option value="(.+)">.+\r\n/',$text, $a);
print_r($a);



?>

mazaxaka
08.04.2010, 02:26
Парни появился еще вопрос по perl
авторизировался на сайте но нужно спарсить некоторые данные Например как в вк друзей и рейтинг. что то не как не пойму как ето сделать. подскажите пожалуста
вот блок с которого нужно спарсить
красным пометил даные которые нужно спарсить. уже пол дня пробую и нефига(
<div id="userInfoBlock">
<div id="moneyInfo">
<a id="moneyIco" title="Количество &lt;b&gt;Мани&lt;/b&gt; в твоем кошельке" href="http://сайт/">
<span></span>0.<small>04</small> </a>
вот тут число состоит из 2
</div>
<div id="votesInfo">
<a id="votesIco" title="Твои голоса" href=сайт">
<span class="ico"></span><span id="votesInfoCount">0</span>
</a>
</div>

krypt3r
08.04.2010, 07:26
$text =~ /<div id="moneyInfo">.*?<span><\/span>(\d+\.)<small>(\d+)<\/small>.*?<\/div>/smi;
my $first = $1 . $2;
print $first, "\n";
my ($second) = $text =~ /<span id="votesInfoCount">(\d+)<\/span>/;
print $second, "\n";

0.04
0

mazaxaka
08.04.2010, 13:43
еще 1 вопросик по парсингу
пробывал как показала товарищ krypt3r
но тут так не получается
</div>
<h3>
<a href="http://сайт/user/267752/friends/">Друзья (92)</a>
</h3>

попробовал вот так. но не получается
my ($friend) = $resp =~ /friends/>(\d+)<\/span>/;

Compton
08.04.2010, 18:44
preg_match('/<div><h2>Друзья <span>\((.*)\)<\/span><\/h2><\/div>/', $result, $res);
я так понял,что тебе нужно подсчитать кол-во друзей вк
я уже написал (http://gifts.hdd1.ru/?p=50) )

Vlad&slav
08.04.2010, 23:22
preg_match('/<div><h2>Друзья <span>\((.*)\)<\/span><\/h2><\/div>/', $result, $res);
я так понял,что тебе нужно подсчитать кол-во друзей вк
я уже написал (http://gifts.hdd1.ru/?p=50) )

я думаю ему на перле надо
=~ /Друзья <span>\((.*)\)<\/span>/;
будьте проще

mazaxaka
09.04.2010, 13:22
я думаю ему на перле надо
=~ /Друзья <span>\((.*)\)<\/span>/;
будьте проще
благодарю.
да именно на перле..
хм.. почему то постоянно оишбка при попытке сохранить или показать значение ошибка Use of uninitialized value in concatenation (.) or string at

krypt3r
09.04.2010, 13:35
<a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>

Seravin
09.04.2010, 14:24
Я никогда не работал с mod_rewrite, поэтому не могу понять одну хрень:

RewriteEngine on
Options +FollowSymLinks
RewriteRule ^id/(.*)$ /product.php?id=$1

мне нужна вот такая вещь, всё конечно работает, но ссылки у меня на странице вида

<a href="link.php"></a>

и оно преобразовывает их к

<a href="http://hostname.ru/id/link.php"></a>

а нужно

<a href="http://hostname.ru/link.php"></a>

mazaxaka
09.04.2010, 19:35
<a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>

мой код
my ($frend) = $resp =~ <a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>;
вылазят ошибки
Unrecognized escape \s in character class passed through at
unrecognized character \xC4 in column 59 at

LStr1ke
09.04.2010, 20:17
~ |<a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>|;

mazaxaka
09.04.2010, 20:34
~ |<a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>|;
мой код
my ($frend) = $resp =~ |<a\s+href="http:\/\/.+?\/friends\/">Друзья\s*\((\d+)\)<\/a>|;

ошибки
syntax error at , near "=~|"
unrecognized character \xC4 in column 61 at 61 ето между > и Друзья

krypt3r
10.04.2010, 16:12
Кодировку получаемой страницы проверьте

mazaxaka
10.04.2010, 17:02
кодировка как и везде. (вроде) как точно проверить так и не понял

Compton
10.04.2010, 17:06
кодировка как и везде. (вроде) как точно проверить так и не понял
открой код страницы там будет в самом начале

mazaxaka
10.04.2010, 18:19
windows-1251 кодировка там

xNPC
11.04.2010, 03:25
Есть что то типа
elseif((!preg_match("!^[a-z1-9@\\*\\)\\(\\?\\!\\-_\\]\\[=~]+$!i",$user))) {вывод о не верном вводе}
Надо из этого как то получить что бы юзер мог быть и русскими символами и латинскими, но только что бы либо то либо другое, что бы нельзя было мешать букВаВки.
поДмогите кто чем может, уже хз скок сижу над этим

Compton
11.04.2010, 10:50
xNPC
if(preg_match('/[a-z]|[а-я]/i',$open))

xNPC
11.04.2010, 18:18
xNPC
if(preg_match('/[a-z]|[а-я]/i',$open))
Делал так же, но почему то не работало (

Pashkela
11.04.2010, 18:31
if ( (preg_match('/[a-z]/i,$open)) && (preg_match('/[а-я]/i,$open)) echo "olololo! Don't meshat niki, no plz!";

это к вопросу о смешанных никах (русс/англ). Остальное долго курил, вообще не понял вопроса

xNPC
11.04.2010, 19:58
Собственно выслушал всех, вот что получил:


elseif........
elseif ( (preg_match('/[a-z]/i',$user)) && (preg_match('/[а-я]/i',$user)))
{$msg = "Ник содержит запрещенные знаки!";}
elseif (!preg_match("!^[абвгдежзийклмнопрстуфхцчш щъыьэюяАБВГДЕЖЗИЙКЛМНОПРС ТУФХЦЧШЩЪЫЬЭЮЯa-z1-9@\\*\\)\\(\\?\\!\\-_\\]\\[=~]+$!i",$user))
{$msg = "Ник содержит запрещенные знаки!";}
elseif...


Как то вот так, и все нормально робит xD
з.ы. с русскими буквами глюки, если их проверяешь в отдельном выражении от латыни то принимает "а-яi", а если в одном то приходится весь алфавит в нижнем и верхнем регистре писать, мб кто то подскажет как избавиться от этого

++Norton++
11.04.2010, 22:51
Есть среди прочей лабуды на странице такое сочетание:

всякий разный текст... += "123456"; всякий разный текст...

Где "всякий разный текст" - это текст, он меняется и тд.
+="123456" - остается постоянным, т.е. 123456 может меняться, но "+=" есть всегда.
Нужно из такой страницы взять значения после += которые идут в кавычках. Т.е. только значения. В данном случае 123456.
Заранее спасибо!

Compton
11.04.2010, 23:05
preg_match('/\+=\s?"(.+)";/',$text, $res);

ZnikiR
14.04.2010, 17:36
Проблема при проверки имени пользователя.
Имя пользователя может быть как на латинице так и на киррилице.
При использование Кирилицы (русского) выдает ошибку.

Вот код
function name_check($name){
$name = trim($name);
if (strlen($name) >= 3){
if (strlen($name) <= 60){
if (preg_match("([^а-яА-Яa-zA-Z-]+)",$name)) {
$err = 1;
}
else {
$err = 0;
}
} else $err = 2; //очень длинный логин
} else $err = 3; //очень короткий логин
return $err;
}

Как исправить?

m0Hze
14.04.2010, 17:53
Проблема при проверки имени пользователя.
Имя пользователя может быть как на латинице так и на киррилице.
При использование Кирилицы (русского) выдает ошибку.

Вот код
function name_check($name){
$name = trim($name);
if (strlen($name) >= 3){
if (strlen($name) <= 60){
if (preg_match("([^а-яА-Яa-zA-Z-]+)",$name)) {
$err = 1;
}
else {
$err = 0;
}
} else $err = 2; //очень длинный логин
} else $err = 3; //очень короткий логин
return $err;
}

Как исправить?

<?php
function name_check($name){
$name = trim($name);
if (strlen($name) >= 3){
if (strlen($name) <= 60){
if (preg_match("#^([а-яА-Яa-zA-Z\-]+)$#",$name)) {
$err = 1;
}
else {
$err = 0;
}
} else $err = 2; //очень длинный логин
} else $err = 3; //очень короткий логин
return $err;
}
echo name_check('Василий');
?>


=/

svesve
14.04.2010, 21:24
есть строка вида

<a clas="..." href="...">info</a>, <a clas="..." href="...">info2</a>, <a clas="..." href="...">info3</a>,........

нужно выдрать все между тегами <a></a> конструкция будет одинакова
preg_match('#">(.*?)<\/a>#',$in,$out);
, как эту конструкцию повторять,??? ведь может быть и 1 повтор и 10 повторов конструкции.

ZnikiR
14.04.2010, 21:31
2 m0Hze
У меня

echo name_check('Василий'); //равно 1,т.е. ошибка.

Может это из-за настроек денвера?
Или я неправильно код прочита?

Pashkela
14.04.2010, 22:06
есть строка вида

<a clas="..." href="...">info</a>, <a clas="..." href="...">info2</a>, <a clas="..." href="...">info3</a>,........

нужно выдрать все между тегами <a></a> конструкция будет одинакова
preg_match('#">(.*?)<\/a>#',$in,$out);
, как эту конструкцию повторять,??? ведь может быть и 1 повтор и 10 повторов конструкции.

preg_match_all?

2 m0Hze:

if (preg_match("#^([а-яА-Яa-zA-Z\-]+)$#",$name)) {


есть такой модификатор - "i"

ZnikiR
14.04.2010, 22:11
есть такой модификатор - "i"

Не могу найти его.
Символ "i" после закрывающего ограничителя шаблона означает регистронезависимый поисК?

Сейчас приведу код с комментариями,скажите я правильно его понял?

function name_check($name){
$name = trim($name);
if (strlen($name) >= 3){
if (strlen($name) <= 60){
if (preg_match("/^([а-яa-z\-]+)$/i",$name)) {
print_r(preg_match("/^([а-яa-z\-]+)$/i",$name));
$err = 1; // ошибка:используются неразрешенные символы
}
else {
$err = 2; // всё супер,используються разрешенные символы
}
} else $err = 3; //очень длинное имя
} else $err = 4; //очень короткое имя
return $err;
}

Pashkela
14.04.2010, 22:35
Да, но твою проблему это не решит, т.к. ты совершенно не владеешь русским языком и даже не можешь нормально сформулировать вопрос, а именно - донести, что вообще требуется от скрипта без своих мегаговнокодов, просто спросить, типо "хочу, чтобы ....., как сделать"

Твоё "Как исправить?" никак не упрощает ситуацию

PS: Если ми правильно протелепатировал - последний пост предыдущей страницы, иногда читать надо не только свои вопросы

ZnikiR
14.04.2010, 22:48
2 Pashkela
Я хочу чтобы скрипт проверил состоит ли имя пользователя из
Русских Английски букв и тире "-".
Ну то есть,чтобы принимал Русские , Ангийские имена и имена которые пишутся через дефис "-".
"Ван-Дер-Ваальс",но в то же время,чтобы имя нельзя было сделать из одних символов "-"

Старался как мог.

Deathdreams
14.04.2010, 22:55
есть строка вида

<a clas="..." href="...">info</a>, <a clas="..." href="...">info2</a>, <a clas="..." href="...">info3</a>,........

нужно выдрать все между тегами <a></a> конструкция будет одинакова
preg_match('#">(.*?)<\/a>#',$in,$out);
, как эту конструкцию повторять,??? ведь может быть и 1 повтор и 10 повторов конструкции.
preg_match_all, не?

Pashkela
14.04.2010, 23:32
2 Pashkela
Я хочу чтобы скрипт проверил состоит ли имя пользователя из
Русских Английски букв и тире "-".
Ну то есть,чтобы принимал Русские , Ангийские имена и имена которые пишутся через дефис "-".
"Ван-Дер-Ваальс",но в то же время,чтобы имя нельзя было сделать из одних символов "-"

Старался как мог.

Вот теперь ТЗ понятное и вопросов не вызывает:

1. Можно Русские символы
2. Можно Английские символы
3. Нельзя спец-символы (кроме тире)
4. Нельзя одни только "-"
5. Нельзя смесь русских и английских буковок
6. Регистр любой (в любой месте ника)
7. Длина ника от 3 до 60 символов


<?php
$a = "Куку";
if (!preg_match('#[^а-яА-Яa-z\-]#i',$a) && preg_match('#[а-яА-Яa-z]#i',$a) && !(preg_match('#[а-яА-Я]#',$a) && preg_match('#[a-z]#i',$a)) && strlen($a)>=3 && strlen($a)<=60) echo "Ok";
else echo "Error";
?>

ZnikiR
15.04.2010, 11:35
Так как это раздел, где вопросы для новичков,то решил спросить,а то понять не могу.И нигде не написано про "#"
Чем отличается
preg_match('#[^а-яА-Яa-z\-]#i',$a)
от
preg_match('/[^а-яА-Яa-z\-]/i',$a)
И вообще я до сих пор не понял,как работает preg_match.
Можете объяснить?
+ добавлено скрпит Пашкелы пропускает имена типа "-ыв-фы-вфыв---фыв--",что не есть хорошо.
Попробывал так,но не сработало.
[^а-яА-Яa-z\-?]
Я понимаю,что регулярка понимает это как полседовательность
от "\" до "?" ?

Compton
15.04.2010, 11:50
если ставить '#' то не придется ставить '\' перед '/'

svesve
15.04.2010, 12:06
<td class="bold">Описание:</td>
</tr>
<tr class="infoRow">
<td>Фрэнк Пеш рoдился под счастливой звeздой. Всю жизнь oн не вeдал пoражeний ни в любви, ни в уличных рaзбoрках, ни зa игoрным столом. А так кaк Фрэнк был итальянцем и жил в Нью-Йорке, жизнь постoянно прeдоставляла ему шанс проверить свою удачливость на практике. В этой гангстерской комедии есть все: смех и слезы, любовь и ненависть. Перед вашими глазами на протяжении нескольких десятилетий разворачивается история семьи Пеш со всеми ее горестями и радостями, прекрасные актерские работы не оставят равнодушными даже самого взыскательного зрителя.</td>

</tr>
<tr class="infoRow2">
<td class="bold">В главных ролях:</td>
</tr>
<tr class="infoRow">
<td><a href="actor.php?name=%D0%94%D1%8D%D0%BD%D0%BD%D0%B8%20%D 0%90%D0%B9%D0%B5%D0%BB%D0%BB%D0%BE">Дэнни Айелло</a>, <a href="actor.php?name=%D0%AD%D0%BD%D1%82%D0%BE%D0%BD%D0%B 8%20%D0%9B%D0%B0%20%D0%9F%D0%B0%D0%BB%D1%8C%D1%8F">Энтони Ла Палья</a></td>
</tr>


как правильно отпарсить описание??

ZnikiR
15.04.2010, 14:11
В общем я написал наконец нормальную проверку имени.
Спасибо Pashkela за код.
В общем функция для проверки имени полязователя на валид ( правильность , валидность )

if (!preg_match('#-{2,}#',$a) && //нет двух подряд тире
preg_match_all('#-#',$a,$m1)<3 && //И в строке меньше 3 тире,т.е. 1 или 2
!preg_match('#(^-|-$)#',$a) && //И нет тире в начале или конце
!(preg_match('#[а-яА-Я]#',$a) && preg_match('#[a-z]#i',$a)) && //И не используються сразу англ и русские символы
!preg_match('#[^а-яА-Яa-z\-]#i',$a) && //И не используються знаки кроме разрешенных {"а-я" "А-Я" "a-z" "A-Z" и "-"}
strlen($a)>=3 && //И имя длиннее 3 символов
strlen($a)<=30 //И имя короче 30 символов
)echo "Ok";
else echo "Error<br>";


Еще Можно объядинить эти две строки

!preg_match('#-{2,}#',$a)
!preg_match('#(^-|-$)#',$a)

В

preg_match('#-{2,}|(^-|-$)#',$a,$m1);

Compton
15.04.2010, 18:51
как правильно отпарсить описание??
preg_match('/<td>(.+)<\/td>/',$text,$a);

svesve
15.04.2010, 20:51
preg_match('/<td>(.+)<\/td>/',$text,$a);

такой регуляркой помимо описания ты еще кучу чего зацепишь

спс.но я уже разобрался )

Vlad&slav
17.04.2010, 00:01
svesve
preg_match('/\"infoRow\">[^<]*<td>(.+)<\/td>/',$text,$a);

InfectedM
17.04.2010, 17:23
....a class="cs" tabindex="2" href="http://www.qwerty.com/ololol" onmousedown="rc(this, '\/\/clck.yandex.ru\/redir\/......
....a class="cs" tabindex="2" href="http://www.darkraha.com/rus/ajax/ajax03.php" onmousedown="rc(this, '\/\/clck.yandex.ru\/redir\/ href="http://www.zxc.eu/eng/......<table>......



нужно вырезать ссылки
www.qwerty.com
www.darkraha.com

Подскажите как,плз

PS нужно только те ссылки каторые будут между tabindex="2" и onmousedown

Dark_cracker
18.04.2010, 12:25
нужно вырезать ссылки
www.qwerty.com
www.darkraha.com

Подскажите как,плз

preg_match_all("#href=\"http://(.*?)/.+\"#i",$a,$logs);
Как в регулярном выражении будет "И"(and) ???

programming
19.04.2010, 20:30
Подскажите пожалуйста регулярку для выдирания с сайта http://realty.dmir.ru/realty/sale/ru/mo/commerce/production/418183/ информацию по зданию и коммуникации. Нужен массив с информацией по зданию и другой массив с коммуникациями.
Спасибо.

mazaxaka
20.04.2010, 23:29
помогите с регуляркой
нужно спарсить значение , вот кусок кода от куда нужно спарсить интересует чисто которое в ()



</div>
<h3>
<a href="http://сайт/user/267752/friends/">Друзья (92)</a>
</h3>

код
my ($frend) = $resp =~/">Друзья \((\d*)\)</;
ошибка

use of uninitialized value $frend in concatenation <.> or string at lina 60
вот 60 строка
print "[ + ] [vote=$vote];[Friends=$frend]\n";

в файл тоже $frend не сохраняется

Fepsis
21.04.2010, 00:09
$resp =~/\"\>Друзья \((.+?)\)\<\/a\>/;
my ($frend) = $1;
print $frend;

programming
21.04.2010, 20:26
Каким образом можно выдрать всё содержимое из каждого тега <dt> и <dd> в массив?(<dt>(.*)</dt>, <dd>(.*)</dd> - неврно)
style="display:none;"><div class="colblks1"><div class="dfnslst01"><dl><dt>Электричество</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Газ</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Охрана</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Парковка</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Лифт</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Водоснабжение</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Канализация</dt><dd>да</dd></dl></div></div><div class="colblks1"><div class="dfnslst01"><dl><dt>Отопление</dt><dd>да</dd>

krypt3r
21.04.2010, 20:41
preg_match_all ('|<dt>(.*?)</dt>|', $str, $m1);
print_r ($m1[1]);
preg_match_all ('|<dd>(.*?)</dd>|', $str, $m2);
print_r ($m2[1]);


Array
(
[0] => Электричество
[1] => Газ
[2] => Охрана
[3] => Парковка
[4] => Лифт
[5] => Водоснабжение
[6] => Канализация
[7] => Отопление
)
Array
(
[0] => да
[1] => да
[2] => да
[3] => да
[4] => да
[5] => да
[6] => да
[7] => да
)

uvlad
26.04.2010, 17:22
Всем привет !

Есть несколько вопросов по mod_rewrite, сегодня почитал не много документации по данному модулю, посмотрел некоторые примеры, но одну проблему уже долгое время не могу решить, да и незнаю можно ли вообще такое сделать.

Это то что на данный момент есть в .htaccess, последение правило с условиями возможно временные.


RewriteRule ^([a-z]+)/([a-z]+)/$ /$1.php?a=$2
RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)/$ /$1.php?a=$2&id=$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /404.php [L]


По поводу первых двух правил, можно ли написать условие, которое будет проверять по первой обратной связи т.е. если $1 существует как файл, тогда и выполняется правило

Второй вопрос, есть ли возможность запретить прямой доступ к файлам php ? Т.е. только через SEO, а уже страница.php?а=что-то, никак...

НTL
27.04.2010, 22:44
Сейчас в .htaccess:

RewriteEngine On
RewriteRule ^id([0-9]*)$ /index.php?id=$1


Как сделать чтобы при переходе на адрес id1_info отправлялся гет:
/index.php?id=$1&q=info

А если без приставки инфо то следуя первой инструкции...

phpdreamer
27.04.2010, 22:59
RewriteEngine On
RewriteRule ^id([0-9]*)_info$ /index.php?id=$1&q=info
RewriteRule ^id([0-9]*)$ /index.php?id=$1

phpdreamer
27.04.2010, 23:08
Всем привет !

Есть несколько вопросов по mod_rewrite, сегодня почитал не много документации по данному модулю, посмотрел некоторые примеры, но одну проблему уже долгое время не могу решить, да и незнаю можно ли вообще такое сделать.

Это то что на данный момент есть в .htaccess, последение правило с условиями возможно временные.


RewriteRule ^([a-z]+)/([a-z]+)/$ /$1.php?a=$2
RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)/$ /$1.php?a=$2&id=$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /404.php [L]


По поводу первых двух правил, можно ли написать условие, которое будет проверять по первой обратной связи т.е. если $1 существует как файл, тогда и выполняется правило

Второй вопрос, есть ли возможность запретить прямой доступ к файлам php ? Т.е. только через SEO, а уже страница.php?а=что-то, никак...
1)проверяй все на пхп,
2)можно, но опять же это все логика твоего пхп скрипта

SeNaP
28.04.2010, 16:56
Всем привет.
Как можно составить регулярное выражение в Mod_Rewrite
Чтобы
http://site.ru/?user=senap
работала так
http://senap.site.ru ?

SeNaP
28.04.2010, 17:36
как-то так
^?user=senap$ http://senap.site.ru
не работает :(

phpdreamer
28.04.2010, 17:49
попробуй без знака ?
или поставить перед ним \
(экранирование)

SeNaP
28.04.2010, 17:54
RewriteRule ^\?user=senap$ senap.localhost{QUERY_STRING} [L]
пытаюсь обратится по адресу senap.localhost

Ошибка!
Невозможно найти удалённый сервер

phpdreamer
28.04.2010, 18:02
senap.localhost - это адрес папки (нету http)

не парь мозг и сделай

if(isset($_GET['user']))
if($_GET['user'] == 'senap')
header("Location: http://www.site.ru");

SeNaP
28.04.2010, 18:23
senap.localhost - это адрес папки (нету http)

не парь мозг и сделай

if(isset($_GET['user']))
if($_GET['user'] == 'senap')
header("Location: http://www.site.ru");

Это уже совсем не то
Нужно чтобы это senap.site.ru преобразовало в это site.ru/?user=senap
по идеи должно рабоать это

RewriteCond %{HTTP_HOST} !^localhost
RewriteCond %{HTTP_HOST} ([^.]+).localhost
RewriteRule ^(.*)$ /var/www/index.php?s=%1

Но не работает :(

mazaxaka
28.04.2010, 20:17
<div>Общий заработок: <span>$5.03</span></div>
помошите с регуляркой. не получается спарсить иза $

.Slip
29.04.2010, 02:58
Экранируй \$

0ldbi4
29.04.2010, 02:59
Доброго времени суток помогите с парсом страницы:

То что нужно спарсить выделенно ;)

<div class="si_map_header" id="HTML_curr_map">
de_train </div>


<div class="si_map_image" id="HTML_map_ss_img">
<img src="http://image.www.gametracker.com/images/maps/160x120/cs/de_train.jpg" alt="" class="item_160x120" />


<span id="HTML_num_players">0</span> / <span id="HTML_max_players">21</span>



_________________________________________________

Буду благодарен за помощь

.Slip
29.04.2010, 03:38
20ldbi4
1. /<div.+>\s+(.+)\s+<\/div>/
2. /<img src=\"(.+?)\".+>/
3. /<span id=\"HTML_num_players\">(.+?).+<span id=\"HTML_max_players\">(.+)<\/span>/

mazaxaka
29.04.2010, 11:09
хм.. все равно что то не так

<div>Общий заработок: <span>$5.03</span></div>


$resp =~ /<div>Общий заработок: <span>\$(\d+\.)(\d+)<\/span><\/div>/smi;

my ($money) = $1 . $2;

usr of ininitialized velue $1 и $2

d_x
29.04.2010, 11:31
my $str = '<div>Общий заработок: <span>$5.03</span></div>';

$str =~ /<span>(\$\d+\.\d+)<\/span>/; print $1;

mazaxaka
29.04.2010, 12:12
чтот я с етим знаком долара туплю.. пробывал екранировать все равно.

Fepsis
29.04.2010, 12:16
чтот я с етим знаком долара туплю.. пробывал екранировать все равно.
Символы < и > тоже надо экранировать...

my $str = '<div>Общий заработок: <span>$5.03</span></div>';
$str =~ /\<div\>Общий заработок: \<span\>\$(.+?)\<\/span\>\<\/div\>/;
print $1."\n";

d_x
29.04.2010, 12:20
Ошибка за ошибкой
Там не ошибка, там тег [php] убрал экранирование. Сделал в [code], сейчас нормально

mazaxaka
29.04.2010, 12:28
Символы < и > тоже надо экранировать...

my $str = '<div>Общий заработок: <span>$5.03</span></div>';
$str =~ /\<div\>Общий заработок: \<span\>\$(.+?)\<\/span\>\<\/div\>/;
print $1."\n";

всеравно ошибка
usr of ininitialized velue $1

к чему ето строка не понятно

my $str = '<div>Общий заработок: <span>$5.03</span></div>';
етоя привет кусок кода страници который нужно спарсить
<div>Общий заработок: <span>$5.03</span></div>

Fepsis
29.04.2010, 12:35
к чему ето строка не понятно

Тебе не надо её писать.. она для примера..
$str = 'код страницы с которой парсишь данные';
$str =~ /\<div\>Общий заработок: \<span\>\$(.+?)\<\/span\>\<\/div\>/g;
print $1."\n";

mazaxaka
29.04.2010, 12:48
Тебе не надо её писать.. она для примера..
$str = 'код страницы с которой парсишь данные';
$str =~ /\<div\>Общий заработок: \<span\>\$(.+?)\<\/span\>\<\/div\>/g;
print $1."\n";
все равно
usr of ininitialized velue $1
а разве +? может парсить дробные числа?

d_x
29.04.2010, 12:53
Сколько можно? Когда угловые скобки в регулярках экранироваться стали внезапно? Используй мой вариант (выше), он работает.

Доказательство: http://codepad.org/irQ7CyTx

http://s54.radikal.ru/i145/1004/d5/02a1db2f5ee6t.jpg (http://radikal.ru/F/s54.radikal.ru/i145/1004/d5/02a1db2f5ee6.png.html)

mazaxaka
29.04.2010, 12:57
у меня в коде не работает твой способ я уже проверял 100 раз
usr of ininitialized value $1 in concatenation (.) or string

mazaxaka
29.04.2010, 13:04
пробовал заменить $ точкой. всеравно ошибка при выводе значения

Fepsis
29.04.2010, 13:14
Сколько можно? Когда угловые скобки в регулярках экранироваться стали внезапно? Используй мой вариант (выше), он работает.

Доказательство: http://codepad.org/irQ7CyTx

http://s54.radikal.ru/i145/1004/d5/02a1db2f5ee6t.jpg (http://radikal.ru/F/s54.radikal.ru/i145/1004/d5/02a1db2f5ee6.png.html)
Упс... :rolleyes: Всю сознательную жизнь их экранировал, сейчас глянул и правда без экранирования работает... О_0 В общем я в шоке... :D

ЗЫ: кстати мой вариант тоже работает (даже без экранирования угловых), так что скорее вснго трабл где-то у ТС-а...

mazaxaka, ты уверен, что в переменной $str у тебя то, что нужно...

mazaxaka
29.04.2010, 13:22
$resp = $ua->get("http://bonus.depositfiles.com/ru/gold/bonus_program.php")->as_string;
wf($file, $resp);
$resp =~ /<a class="button_add" >Выплатить<\/a>.*?<span>.(\d+\.\d+)<\/span>/smi;
my $money = $1 . $2;
print $money ;

специально сохраняю чтобы посомтреть.. страница полность получина. все имеется . но регулярка не вырезает значение.
немного передлал . на сайте проверил работает. а у меня нет

Fepsis
29.04.2010, 13:35
mazaxaka, там кодировка utf-8, думаю из-за этого не пашет.. переведи "Общий заработок" из windows-1251 в utf-8, а потом подставляй в регулярку...

mazaxaka
29.04.2010, 13:44
спс . сразу кодировку и не глянул. сейчас сделаю

krypt3r
29.04.2010, 14:15
Кодировку и нужно было с самого начала проверять. Для чего существует команда print?

XPYMGT
29.04.2010, 16:33
Как из ссылки вида site.ru/index.php?inc=view&id=777 site.ru/inc/view/id/777 или site.ru/view/777 или ну его нах этот чпу

M1ks
29.04.2010, 16:38
есть:
index.php?mode=blabla1&act=blabla2
index.php?mode=blabla3&act=blabla2
нужно чтобы было site.com/blabla1
site.com/blabla3

krypt3r
29.04.2010, 19:22
XPYMGT

RewriteRule ^inc/view/id/(.+)$ index.php?inc=view&id=$1
RewriteRule ^view/(.+)$ index.php?inc=view&id=$1

M1ks

RewriteRule ^(.+)$ index.php?mode=$1&act=blabla2

0ldbi4
03.05.2010, 04:46
<div class="si_map_image" id="HTML_map_ss_img">
]<img src="папабамс" alt="" class="item_160x120" />
</div>

Добрый день, мне нужно спарсить выделенное с учетом того что img src повторяються на странице и нужно парсить слой

#Wolf#
03.05.2010, 07:31
<div class="si_map_image" id="HTML_map_ss_img">
]<img src="папабамс" alt="" class="item_160x120" />
</div>

Добрый день, мне нужно спарсить выделенное с учетом того что img src повторяються на странице и нужно парсить слой

preg_match_all('#<div class="si_map_image" id="HTML_map_ss_img">.+]<img src="(.*?)" alt="" class="item_160x120" />.+</div>#is',$text,$out);

0ldbi4
03.05.2010, 13:00
2#Wolf# с ошибками! где то кавычки не экранированны где то еще что, я регулярки не разбирал... но эт знаю.. вообщем парсэррор дает эта строка.

#Wolf#
03.05.2010, 13:55
2#Wolf# с ошибками! где то кавычки не экранированны где то еще что, я регулярки не разбирал... но эт знаю.. вообщем парсэррор дает эта строка.

$text='<div class="si_map_image" id="HTML_map_ss_img">
]<img src="папабамс" alt="" class="item_160x120" />
</div> ';
preg_match_all('#<div class="si_map_image" id="HTML_map_ss_img">.+]<img src="(.*?)" alt="" class="item_160x120" />.+</div>#is',$text,$out);
echo '<pre>';print_r($out);echo '</pre>';

->

Array
(
[0] => Array
(
[0] =>
]

)

[1] => Array
(
[0] => папабамс
)

)

у меня , как видишь ,все работает. экранируй сам кавычки.

programming
03.05.2010, 16:31
Есть сайт http://www.lacoctelera.com/login/registro
При отправке формы методом пост у переменных lt и st появляются значения.. Откуда?

DTW
03.05.2010, 17:23
Вопрос не в эту тему.
Ответ такой

по умолч там


<input type="hidden" name="lt" value="0" />

<input type="hidden" name="st" value="0" />



знач value="0"

при отссылки может меняться при помощи яваскрипта.

programming
03.05.2010, 17:44
Вопрос не в эту тему.
Ответ такой

по умолч там


<input type="hidden" name="lt" value="0" />

<input type="hidden" name="st" value="0" />



знач value="0"

при отссылки может меняться при помощи яваскрипта.
Это и понятно, что меняется яваскриптом. Уже даже определил, что этим:
<script type="text/javascript">
<!--
function unset_focus() { if (document.dataform.lt.value==0) { f=new Date(); document.dataform.lt.value=f.getTime(); } }
function enviaFormulario() { fechasubmit = new Date(); document.dataform.st.value = fechasubmit.getTime(); document.dataform.submit() }
// -->
</script>
Но как выдрать то значения?

Compton
05.05.2010, 23:16
preg_match_all('#<input type="hidden" name="(.+)" value="(.+)" />#',$text,$an);

Dark_cracker
06.05.2010, 00:47
<td><span title='текст'>текст</span></td>
<td><span title='текст'>текст</span><br><span title='текст'>текст</span></td>
можно ли регуляркой вот это спарсить ? например если есть в теге <td> после <br> тег <span> тогда из него брать если нету тогда из первого попавшегося тега <span парсить текст
написал такую "#<td>.+?<br><span title='(.*?)'>.+?</span></td>|<span title='(.*?)'>.+?</span></td>#is"
она только парсит текст из второго тега <td>

Compton
08.05.2010, 12:31
как можно в регулярку поставит переменную?
т.е.preg_match('# <td class=lettem><a href="(.*)">{$theme}</a></td>#',$result,$id);
так не получается

phpdreamer
08.05.2010, 13:09
зачем "{}" ?

preg_match('# <td class=lettem><a href="(.*)">' . $theme . '</a></td>#',$result,$id);

Compton
08.05.2010, 13:13
не работает,думаешь я не пробывал

phpdreamer
08.05.2010, 14:22
что в $theme ?
//конечно не пробовал, если пишешь херню

у меня все работает


$result = 'blablablabla <td class=lettem><a href="http://tochtonada">lol</a></td> blablablablablabla';
$theme = 'lol';
preg_match('# <td class=lettem><a href="(.*)">'
. $theme . '</a></td>#',$result,$id);
print_r($id);

Compton
08.05.2010, 15:40
теперь работает,спасибо
но уже решил по-другому

foxxx1234
09.05.2010, 00:25
подскажите как спарсить







<IMG SRC="http://cs460.vkontakte.ru/u61596318/107514257/m_abf4188e.jpg" onMouseOver="this.style.borderColor='#45688E'" onMouseOut="this.style.borderColor=''" style="max-width:130px;"></a></td>










Из этого нужно выдернуть m_abf4188e.jpg .

Compton
09.05.2010, 00:31
preg_match('#/107514257/(.*)" onMouseOver=#',$text,$a);

foxxx1234
09.05.2010, 02:05
Спасибо

А можете еще подсказать как из

<td><a href="/photo-14779259_161181650">

вытащить 161181650

warlok
09.05.2010, 02:40
$res = ' <td><a href="/photo-14779259_161181650"> ';
preg_match('#href="/photo-.+_(.*?)">#',$res,$out);
var_dump($out);

foxxx1234
10.05.2010, 02:00
Подскажите как из

<div class="summary">284 фотографии<span class="divider">

Вытащить число 284

phpdreamer
10.05.2010, 02:27
preg_match('# <div class="summary">([0-9]*) фотографии<span class="divider"> #ui',$page,$res);
echo $res[1];

0ldbi4
13.05.2010, 02:32
del*

mazaxaka
13.05.2010, 21:19
задача состоит в том чтобы спарсить ники юзеров с 1 сайта
вот где можно применить регулярное выражение
<a href="searchpro.aspx?author=ник юзера&top=50
<span class="subhead">ник юзера</span>
Дело состоит в том. что в ники могут использоватся цифры.буквы.все спец символы. и пробелы. простые ники я могу собрать когда дело доходит до символов пробелов и тд. у меня ничего не получается. подскажите плз

а также логин может содержать русские буквы

mazaxaka
13.05.2010, 22:17
подчти разобрался не понятно только как использовать символы @#$% они не дают скрипту исполнится

LStr1ke
13.05.2010, 23:45
Экранируй их \@ \$ \# \%

mazaxaka
14.05.2010, 01:33
спасибо работает. подкажите как парсить русски имена ? кодировка утф-8 в регурярке стоит а-я но оно не парсит

LStr1ke
14.05.2010, 02:05
А текст который парсить ты в какой кодировке получаешь?
Попробуй:
iconv();

mazaxaka
14.05.2010, 08:39
windows 1251 . кодировка страници в утф-8. анг буквы и символы норм принемает а вот русские не как

krypt3r
14.05.2010, 09:19
опять mazaxaka и опять у него проблемы с регулярками и кодировкой :D

mazaxaka
14.05.2010, 09:47
да ето снова я) ну не даются они мне. елементарные освоил. а вот по сложней не как.
страница в утф-8 а в регулярке а-я проверяется.. что делать?(

krypt3r
14.05.2010, 11:17
Перекодировать из UTF-8 в CP1251. Логично?)

phpdreamer
14.05.2010, 15:37
Перекодировать из UTF-8 в CP1251. Логично?)
не думаю что логично использовать кодировку CP1251.
Все должно быть в UTF-8

LStr1ke
14.05.2010, 15:38
Ну и переодируй
iconv("CP1251","UTF-8",$text);

SeNaP
14.05.2010, 18:37
Помогите вырезать id
<a href="/club/user/?id=1022119&amp;sid=tzufdsse">

Пытаюсь делать так


preg_match_all('#<a href="/club/user/\?id=(.*)&amp;sid=tzufdskv">#iU',$result,$users);
echo "<pre>";
print_r($users);

Но возвращает пустой массив

Array
(
[0] => Array
(
)

[1] => Array
(
)

)

phpdreamer
14.05.2010, 18:48
$result = 'blablablabla <a href="/club/user/?id=1022119&amp;sid=tzufdsse"> blablablablablabla';
preg_match('#<a href="/club/user/\?id=([0-9]{1,10})&amp;sid=tzufdsse">#',$result,$id);
print_r($id[1]);

SeNaP
14.05.2010, 18:57
Ну у меня почти такая же регулярка :)
Только вот почему она тут не работает?

$ch = curl_init("site");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
preg_match_all('#<a href="/club/user/\?id=([0-9]*)&amp;sid=tzufdskv">#iU',$result,$users);
echo "<pre>";
print_r($users);
curl_close($ch);

А вот если так

$site = file_get_contents("site");
preg_match_all('#<a href="/club/user/\?id=([0-9]*)&amp;sid=tzufdskv">#iU',$site,$users);
echo "<pre>";
print_r($users);

То всё работает нормально :confused:

m0Hze
14.05.2010, 18:59
Ну у меня почти такая же регулярка :)
Только вот почему она тут не работает?

$ch = curl_init("site");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
preg_match_all('#<a href="/club/user/\?id=([0-9]*)&amp;sid=tzufdskv">#iU',$result,$users);
echo "<pre>";
print_r($users);
curl_close($ch);

Наводка, &amp; :/ раскодируй амперсанд, это браузер тебе так выдал.

jenaDI
15.05.2010, 20:40
Всем привет.
В общем у меня такая задача :

Мне нужно,чтобы скрипт извлекал номер из ссылки , и записывал его в массив .

<?php

$html =
'
<a href="details.php?id=1">Название1</a>
<a href="details.php?id=2">Название2</a>
<a href="details.php?id=3">Название3</a>
';



ПОМОГИТЕ ПОЖАЛУЙСТА!!!

Compton
15.05.2010, 20:56
preg_match_all('#<a href="details.php\?id=(.*)">(.*)</a>#',$html,$a);
print_r($a);
я точно не знаю какой номер,так что посмотри сам что нужно

jenaDI
15.05.2010, 21:05
почти , только в массив заноситься и текст а мне только цифра нужны

eLWAux
15.05.2010, 21:12
preg_match('/"details.php\?id=(\d+)"/i', $html, $m);
var_dump($m[1]);
ну и нахрена отдельную тему создавать?

jenaDI
15.05.2010, 21:17
preg_match('/"details.php\?id=(\d+)"/i', $html, $m);
var_dump($m[1]);
ну и нахрена отдельную тему создавать?


твое только первое число читает

а еще ребята , а как чтобы читался ТОЛЬКо details.php ...
просто если userdetails.php он тоже считает

GreenBear
16.05.2010, 08:00
preg_match_all('/"details\.php\?id\=(\d+)"/i', $html, $m);
var_dump($m[1]);

d_x
16.05.2010, 12:51
preg_match_all('/"details\.php\?id=(\d+)"/i', $html, $m);
var_dump($m[1]);


= не спецсимвол, не надо его экранировать)

Compton
23.05.2010, 23:34
как вывести контент и спарсить от сюда (http://whois.domaintools.com/77.118.80.4)
диапазон?

LStr1ke
23.05.2010, 23:58
#NetRange: (.*)\n#iU

programming
27.05.2010, 20:58
Подскажите пожалуйста регулярку для выдирания ссылки и её анкора из выдачи яндекса.
http://yandex.ru/yandsearch?text=собака&lr=2&rstr=-1&numdoc=50

krypt3r
28.05.2010, 07:32
<b\s+class="cu">(\d+)</b>.*?<a\s+class="cs".*?href="(.+?)".*?>(.*?)</a>

DonKihot
28.05.2010, 20:04
В массиве список названий файлов : data1.exe , data2.doc , data3. mp3 и т.д.

Нужна регулярка которая занесет формат файла в переменную...

m0Hze
28.05.2010, 21:07
В массиве список названий файлов : data1.exe , data2.doc , data3. mp3 и т.д.

Нужна регулярка которая занесет формат файла в переменную...

foreach($arr as $v) $ext = strtolower(strrchr($v,"."));

Мего регулярка

DonKihot
30.05.2010, 00:19
помогите, пожалуйста, ещё с одним регулярным выражением :

есть строка :
/file_manager/111/

нужно удалить одну папку,
т.е. чтобы получалось /file_manager/

Или например было /file_manager/,
а стало /

.Slip
30.05.2010, 04:52
помогите, пожалуйста, ещё с одним регулярным выражением :

есть строка :
/file_manager/111/

нужно удалить одну папку,
т.е. чтобы получалось /file_manager/

Или например было /file_manager/,
а стало /
/(\/\w+\/)\w+\/|(\/)\w+\//

Compton
03.06.2010, 15:55
какой регуляркой можно спарсить ссылки,идущие с одной страницы сайта на другую(не на другой сайт),т.е. /auth,/user/login

mastaadon
06.06.2010, 17:06
Ребята нужна помощь, есть скрипта который читает страницу и находит баланс счета который виден на главной странице
preg_match('/.*Remaining credit[^0-9]+([0-9.]+).*/', $result, $matches);
return $matches[1];

Фрагменты как указывается баланс счета:
Remaining credit:
? 1,501.00 (buy more)

или

Remaining credit:
? 4.76 (buy more)

если сумма ниже 1000 единиц, то указывается типа 999.99 и скрипт находит его корректно. Если сумма выше 1000 единиц, то указывается в виде 1,012.99 то есть после первой цифры появляется " , " и я не могу ее найти. Может ли кто помочь? Благодарен заранее.

.Slip
06.06.2010, 18:15
mastaadon, /((?:\d,\d{3}\.\d{2}|\d{1,3}\.\d{2}))/

mastaadon
06.06.2010, 18:32
Спасибо за скорый ответ, изменил код но он притащил мне 4.01 из заголовка
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

или может я что не так сделал?

.Slip
06.06.2010, 18:39
Так ты добавляй то что было в твоей регулярке.
/.*Remaining credit: (? (?:\d,\d{3}\.\d{2}|\d{1,3}\.\d{2})).*/

spamoney
07.06.2010, 14:14
Здравствуйте, скажите, пожалуйста, что делает данное регулярное выражение:

$string = preg_replace("/_-+_/", "--", $string);

krypt3r
07.06.2010, 14:35
Заменяет в строке текст типа

_-_
_----_
_--------_

и т.д. на два дефиса

mastaadon
07.06.2010, 16:06
Так ты добавляй то что было в твоей регулярке.
/.*Remaining credit: (? (?:\d,\d{3}\.\d{2}|\d{1,3}\.\d{2})).*/

Так же ничего не вышло, потому что в таком виде ничего не находил на странице. Вопрос все таки решился, оказывается я кое что не дописал.
В таком виде все стало на места:
/.*Remaining credit[^0-9]+([0-9,]+[.0-9]+).*/

Благодарю за помощь в любом случае.

Komyak
11.06.2010, 13:46
Помогите пожалуйста с регуляркой, не пойму как сделать. Паршу список сайтов на наличие хешей, как мне вычленить хеши и имена такого вида:

<p>admin:d609ec04c87e253c8538ad342c120b90:IwLS4sYM9Ni K1cRWBXW9WpZZPitM3xEW</p>
<p>admin:71ec9d1a7735496e89459dc117593239:oExipLLArM1 AUMjBv5DjfhBd6mgg3MUx</p>
<p>admin:d5ac7b77dc4eebe2c710d998508d8a9b</p>

Чтоб на выходе получилось:

admin:d609ec04c87e253c8538ad342c120b90:IwLS4sYM9Ni K1cRWBXW9WpZZPitM3xEW
admin:71ec9d1a7735496e89459dc117593239:oExipLLArM1 AUMjBv5DjfhBd6mgg3MUx
admin:d5ac7b77dc4eebe2c710d998508d8a9b


Хеш всегда между тегами <p>

krypt3r
11.06.2010, 13:55
|<p>(.+?:[a-f0-9]{32}(?::[a-z0-9]*)?)</p>|i

Compton
11.06.2010, 13:56
strip_tags
preg_match_all('/<p>(.*)<\/p>/',$sites,$a); print_r($a);

-=Zhenek=-
11.06.2010, 19:23
как можно через htaccess организовать,чтоб при обращении например на blabla.site.ru отображалось содержимое site.ru ну или редиректило на site.ru/index.html

Поддомены в панели не созданы, их может быть хоть 100.. тоесть любые..


Если в httpd.conf для VirtualHost site.com настроен ServerAlias *.host.com, то по адресу host.com, www.host.com, sub.host.com будут открываться файлы из директории сайта (из DocumentRoot).

LASS0
12.06.2010, 23:45
Прошу помощи, как из кода:
<p>текст111<br>
текст222<br>
<br>
текст333</p>
получить строку, чтобы <br> заменялось на %0d%0a
текст111%0d%0aтекст222%0d%0a%0d%0aтек ст333

Compton
12.06.2010, 23:54
str_replace('<br>', '%0d%0a',$text);

#Wolf#
14.06.2010, 09:06
есть RewriteRule ^user/([^/]+)\.html$ /index.php?ucp=$1 [L]
которое редиректит index.php?ucp=admin на /user/admin.html
так вопрос заключается в следующем: как сделать, чтобы при обращении к index.php?ucp=admin сразу кидало на /user/admin.html. а сейчас работают оба варианта.
пробовал в качестве третьего параметра реврайтрула использовать [R=301] но получал как раз обратный эффект, т.е с /user/admin.html кидало на index.php?ucp=admin.

GrimmJow
16.06.2010, 21:30
<input type="hidden" name="killspammers" value="080F565556555205660702570E"/>

Надо получить 080F565556555205660702570E .

Пишу
if( preg_match('/\<input type=\"hidden\" name=\"killspammers\" value=\"(.+?)\"\/\>/', $html, $out) )
{
echo $out[1];
}

Ничего не выводит. Почему?

В $html - код страницы.

.Slip
16.06.2010, 22:49
Всё нормально выводит. Проверь содержимое переменной.

GrimmJow
17.06.2010, 13:12
Да, извиняюсь. Ошибка перед этим была, $html некорректно парсился.