#Wolf# 1. PHP: if(preg_match('/^[\w\d]+$/',$var)) echo 'good'; 2. PHP: if(preg_match('/^[^<>?]+$/',$var2)) echo 'good';
Не работает Нашёл вот такую штуку для .htaccess PHP: Options +FollowSymlinks RewriteEngine on rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] Как мне её переделать под себя? P.s. Нужно редиректить с [DOMEN]/index.html на [DOMEN]/ Заранее благодарен!
mod_rewrite Вообщем проблема такая - нужно переопределить запросы к папке /data/ на запросы в /docs/_private/ Скрипты - любые, параметры - разные, папка /data/ не сушествует .. В голову приходит только RewriteRule ^data/([^/]+)$ /docs/_private/$1
Запарился с регуляркой... Есть страница, парситься в file_get_contents там есть несколько дивов. Code: <!-- \\vulnerabilities\\ --> <div class="postblock1"> <h4><a class="medium" href="ability/369157.php">Все что угодно</a></h4> <p>Все что угодно.</p> <div class="post-info"> 28 февраля, 2009 (просмотров: 3) </div> </div> <!-- //vulnerabilities// --> поймать нужно весь див что между <!-- \\vulnerabilities\\ --> и <!-- //vulnerabilities// --> Заранее спасибо.
Как бы так вроде: PHP: <?php $html=<<<HTML блаблаблаблаблаблаблаблаблаблаблабла <!-- \\vulnerabilities\\ --> <div class="postblock1"> <h4><a class="medium" href="ability/369157.php">Все что угодно</a></h4> <p>Все что угодно.</p> <div class="post-info"> 28 февраля, 2009 (просмотров: 3) </div> </div> <!-- //vulnerabilities// --> блаблаблаблаблаблаблаблаблаблаблабла блаблаблаблаблаблаблаблаблаблаблабла<> HTML; preg_match('#<!-- \\\vulnerabilities\\\ -->(.*)<!-- //vulnerabilities// -->#sU',$html,$gatcha); print_r($gatcha); preg_match('#<div class="postblock1">(.*)</div>#sU',$html,$gatcha); print_r($gatcha); ?>
Спасиб, тока вот косяк их много а суеться только один... Кто нить толкнет на мысль как их все взять? по строкам искать нельзя вроде как, они ведь много строчные... туплю немного, болею счас...
ппц. ненавижу эти регулярки уже. вроде все просто. Code: preg_replace('#<a href="(.*)">(.*)</a>#sU',"$1","<a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a>"); но не хочет работать. нужно www.opera.com Кто нить вкурсе почему не канает?
PHP: $b = 'новое_название_ссылки'; echo preg_replace('|>.*</a>|','>' . $b . '</a>','<a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a>'); а у тебя там просто путаница с кавычками, в последнем параметре, двойные в двойных
это я когда в форум вставлял напутал, вообще то там переменная preg_replace('#<a href="(.*)">(.*)</a>#sU',"$1",$e); вот так в оригинале. твой вариант не особо в тему т.к. новое название я должен вытащить из старого. то есть из <a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a> должно получиться www.opera.com Вообще особенно интересует почему мой вариант не работает.
Дык если просто вытащить надо, то зачем использовать preg_replace() когда есть preg_match() ? PHP: $a = '<a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a>'; preg_match('#>([^<]*)</a>#s', $a, $out); echo $out[1]; Потому что не объявлена переменная $1 и путаница с кавычками (как сказано выше)
Нужно не просто вытащить а в тексте заменить. бла бла бла <a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a> бла бла бла из этого нужно что бы получилось. бла бла бла www.opera.com бла бла бла там же двойные кавычки внутри одинарных. они вроде как не должны интерпретитьроваться.... ? например Code: $reg='#<div class="postblock1">(.*)</div>#sU'; preg_match_all($reg,$res,$result); прекрасно работает. Enot, твоя регулярка тоже не цепляет...
blaga Регулярка правильна, просто надо следить за подмасками. Достаточно убрать скобки внутри href="(.*)" ИЛИ обращаться ко второй подмаске (ака $2 во втором параметре) PHP: echo preg_replace('#<a href=".*">(.*)</a>#sU',"$1",'<a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a>'); Или проще: PHP: preg_replace('~<a[^>]*>(.+)</a>~Usi','$1',$in); Code: На входе: <a href="/bitrix/exturl.php?goto=http%3A%2F%2Fwww.opera.com">www.opera.com</a> На выходе: www.opera.com .:EnoT:. К слову, переменная - НЕ может начинаться на цифру
я щас об стенку убьюсь. ни одна регулярка не схватывает... короч вот он чертов быдло код. PHP: function get_full_vul($url) { $r=file_get_contents($url); $re='#<div class="cont-cont">(.*)<p><strong>Источники#sU'; preg_match($re,$r,$all); $e=str_replace('<div class="cont-cont">'," ",$all[0]); $e=str_replace('<div class="title-line" id="title-vulnerability">'," ",$e); $e=str_replace('</div>'," ",$e); $e=str_replace('<div class="postblock3">'," ",$e); $e=str_replace('<p><strong>Источники'," ",$e); preg_replace('~<a[^>]*>(.+)</a>~Usi','$1',$e); echo $e; } get_full_vul("http://www.securitylab.ru/vulnerability/369396.php"); и еще что за модификатор U ? а то у меня в книге про него нету ничего.
полный улёт) Скажи толком, просто, что тебе надо, тут дел на 5 минут Лучше дай ссылку на страничку и чо там с ней надо "выцепить/заменить"