|
|
|
| задача такая если есть ; то забрать до них иначе до конца
как реализовать? | |
|
|
|
|
|
|
|
для: pissed
(10.07.2008 в 00:13)
| | А если их много , то до них первых или до них последних ?
и они это строки или просто одиночные символы,
и что значит забрать ? понимать так что из всего текста то что не забирается будет совсем ненужно?
UPD //
и как они выглядят ?:) | |
|
|
|
|
|
|
|
для: exp
(10.07.2008 в 00:23)
| | до первых.
Просто 1 строка идет.
сейчас так беру
if(preg_match("|action=(.*)|si",$button['href'],$null)){ | |
|
|
|
|
|
|
|
для: pissed
(10.07.2008 в 00:24)
| | >
if(preg_match("|action=(.*)|si",$button['href'],$null)){
|
похоже с этим шаблогом совпадает всё до конца
практически в атрибуте action не должно быть пробелов и кавычек и >
как
'#\baction=([^\s\'">]*)#'
|
или значение может быть заключено или незаключено в кавычки
как
'#\baction=(?:\'|"|)([^\s\'">]*)#'
|
или можно использовать инвертировать жадность .* -> .*?
как
'#\bacnion=(?:\'|")?(.*?)[\s\'">]#'
|
но это теоретически будет работать медленнее остального
или я не правильно понял что нужно взять значение аттрибута action из тегов , если оно есть )
и тогда не помешало-бы увидеть примеры возможных значений $button['href']
//
\b - граница слова - необязательно , если не предполагается в тексте слов типа transaction | |
|
|
|
|
|
|
|
для: pissed
(10.07.2008 в 00:24)
| | , | |
|
|
|
|
|
|
|
для: exp
(10.07.2008 в 00:58)
| | ссылки простые
могут быть
index.php?action=search
index.php?action=search;ss=sdasdasd | |
|
|
|
|
|
|
|
для: pissed
(10.07.2008 в 01:05)
| | > если есть ; то забрать до них иначе до конца
получается что-то страшное
похожее на это
<pre><?
$as = array('index.php?action=search',
'index.php?action=search;ss=sdasdasd',
'index2.php?noaction=1&two=2',
'index3.php?two=2&action=1',
'index4.php?two=2&action=1');
$re = '#^((?:(?!(?<=\?|&|;)action=).)*).*#i';
$as = preg_replace($re, '$1', $as);
print_r($as);
?></pre>
|
ещё-бы знать для чего такое может быть нужно ) | |
|
|
|