2#Wolf# PHP: <?php $kod=file_get_contents('http://forum.antichat.ru/avatars/avatar52937.gif'); file_put_contents ('ava.gif',$kod ); ?>
PHP: <pre> <?php $a = '<td width="25%"> <img src="http://www.converse.com/media/product/102740/standard/102740_m.jpg"/> <br /> <a href="/products/shoes/sales/102740" title="Pro Leather 1976">Pro Leather 1976</a><br /> Price: $70 </td> <td width="25%"> <img src="http://www.converse.com/media/product/102741/standard/102741_m.jpg"/> <br /> <a href="/products/shoes/sales/102741" title="Pro Leather 1976">Pro Leather 1976</a><br /> Price: $75 </td> <td width="25%"> <img src="http://www.converse.com/media/product/508726/standard/508726_m.jpg"/> <br /> <a href="/products/shoes/sales/508726" title="Angeles LE">Angeles LE</a><br /> Price: $55 </td>'; $sPattern = '|(.*)<td width="25%">(.*)</td>(.*)|Uis'; preg_match_all( $sPattern, $a, $aMatches ); print_r($aMatches[2]); ?> </pre>
Pashkela Спасибо! Блин полный бред, у меня такое же выражение было , не работало Я уже начал волноватся `U` в нижнем регистре написал Pashkela, СПАСИБО!!!
Как написать htaccess, чтобы при обращении к указанным мной несуществуемым папкам редиректило на скрипт, на другом серваке с передачей имени запрошенной папки? Htaccess не в корне должен быть, а в подпапке. Например, при обращении к http://server.com/papka/lala1/?id=4 редиректило на http://server2.com/papka2/script.php?data=lala1 При обращении к http://server.com/papka/lala2/?id=9 на http://server2.com/papka2/script.php?data=lala2 Где, papka и papka2 - реально существующие папки и тд.
Сделал так Редиректит, но знак вопроса урленкодится почему то, то есть редиректит на , а не на Почему так?
попугай Code: RewriteEngine On RewriteRule ^/papka/(.+)/ http://server2.com/papka2/script.php?data=$1 [R,L] Или Code: RewriteEngine On RewriteBase /papka RewriteRule ^(.+)/?.* http://server2.com/papka2/script.php?data=$1 [R,L]
А как регуляркой выразить md5 хеш? То есть на странице находится много md5 хешей маски [a-f0-9]{32}... Надо их все собрать... Регулярки пытаюсь осваивать, но очень много вопросов пока...
как из текста удалить все комментарии вида /* */ ? комментарии могут быть такими: /** /* /*** * /*ф* ***/ кое-что уже пробовал: ~/\*{2,}/~ ~/\*+(.*?)*\*+/~s первое удаляет это: /****/ второе удаляет все остальные случаи.. но как-то я не совсем уверен в 100% работоспособности может кто подскажет способ получше? и объясните пожалуйста, что означает ".*?" ?
imajo.ati PHP: preg_replace('#\s/\*[\s\S]*\*/\s#U','',$str); http://ru.wikipedia.org/wiki/Regexp - читать раздел "жадная и ленивая квантификация"
PHP: <?php $str = '/* hello */ world! /* 123 */'; echo preg_replace('#\s/\*[\s\S]*\*/\s#','',$str); ?> твой регэксп не работает, не удаляет ничего. за жадную квантификацию спасибо, уже читаю.
imajo.ati Перед и после - желательно чтобы стоял пробельный символ: PHP: $str = ' asddasd asd asd sd sads ad asdas a /* hello */ world! /* 123 */ asds adsa dasdas das'; echo preg_replace('#\s/\*[\s\S]*?\*/\s#','',$str); Но можно и без него ессесн: PHP: $str = '/* hello */ world! /* 123 */'; echo preg_replace('#/\*[\s\S]*?\*/#','',$str);
PHP: <?php $text = ' /* абабаббабаб */ тут код проги /** ещё один камент **/ текст /*** ещё один глупый камент ***/ здесь могла быть ваша реклама!'; $result = preg_replace('/(\/\*.*?\*\/)*/ims', '', $text); echo($result); ?> мой вариант +)
Тебе нужен парсер. Если, конечно, в твои планы не входит бить код, потому что регулярные выражения всё равно будут фейлить. Пример: Code: $pictures = glob('images[COLOR=Gray]/*'); /* Комментарий */[/COLOR] process($pictures);
astrologer, спасибо за замечание, я уже был в курсе этого, когда просил регулярное выражение. в планы входит сначала заменить все строки в тексте на что-то такое: %STRING_000001_(md5_заменённой_строки)_(случайное_число_прохода_парсера)% а потом удалить все комментарии. может быть выскажешь свои мысли по этому поводу? будет ли это работать?
Не получится, причём по той же причине (выяснение которой, как всегда, остается читателю). P.S. Code: ~/[*](?:[^*]++|[*](?![*]))*[*]/~
PHP: $str = "http://localhost/#qwerty=text#aaa22"; preg_match_all ('/=(.*)#aaa(.*)/',$str,$arr); Даст text 22 Но если строка $str = "http://localhost/#qwerty=text"; Ничего не выдаст, как сделать так чтобы выдавало? =)
PHP: <?php $str = "http://localhost/#qwerty=text"; preg_match_all ('/=(.*)#aaa(.*)|=(.*)/',$str,$arr); print_r($arr); ?> $match[1] и $match[2] - где 2 аргумента $match[3] - где 1 аргумент