|
|
|
| Добавляю в регулярку седьмую пару сохраняющих скобок и она перестаёт срабатывать. В чём дело? | |
|
|
|
|
|
|
|
для: sms-send
(21.04.2007 в 17:57)
| | наверное выражение в ней не сопоставляется :) | |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:07)
| | В том то и дело, что даже если добавляю пустую подмаску (), то выражение не совпадает. | |
|
|
|
|
|
|
|
для: sms-send
(21.04.2007 в 18:20)
| | Значит выражение слишком сложное. | |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:50)
| | >Значит выражение слишком сложное.
никогда не слышал, что есть какие-то ограничения на сложность | |
|
|
|
|
|
|
|
для: sms-send
(21.04.2007 в 18:58)
| | Ограничения есть, но формально их описать невозможно.
Далеко не каждую пару текст-шаблон , теоретически сопоставимую, движок preg'а покажет таковой. Подробно об этом можно прочитать у Дж.Фридла(Регулярные выражения) | |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 19:40)
| | >Подробно об этом можно прочитать у Дж.Фридла(Регулярные выражения)
читал, сегодня ещё посмотрю.
так как же быть? | |
|
|
|
|
|
|
|
для: sms-send
(21.04.2007 в 20:05)
| | Упрощать выражение. | |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:50)
| | Может это только у меня не работает? | |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:50)
| | Здесь тоже 7 подмасок, но работает:
<?
preg_match_all('@()()()(sms)()()()@is','sms',$m);
print_r($m);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:07)
| | Привожу конкретный пример:
<?
preg_match_all('@(<[^>]*?(href|src|action|onenterforward|onenterbackward|ontimer|onpick)=([\'"]))(http://|(?:(?:\.\./)+)|(?:\.?[/]+)|javascript:|#|\?)?([^\3]*?)(\3[^>]*?>)@is',$page,$m);
print_r($m);
/*
работает
*/
?>
|
<?
preg_match_all('@(<()[^>]*?(href|src|action|onenterforward|onenterbackward|ontimer|onpick)=([\'"]))(http://|(?:(?:\.\./)+)|(?:\.?[/]+)|javascript:|#|\?)?([^\3]*?)(\3[^>]*?>)@is',$page,$m);
print_r($m);
/*
не работает
*/
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(21.04.2007 в 18:07)
| | А совпасть должна в строке
<?
$page='<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"><wml>
<card id="loading" title="wap.translate.ru" newcontext="true" ontimer="default.asp?first=on"><timer value="1"/><p>Loading PROMT\'s WAP Translator...</p></card></wml>
';
?>
|
| |
|
|
|