Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск по шаблону...

15K
18 августа 2006 года
mda
18 / / 04.07.2006
1) Через сокет записываю удаленый файл в переменную.
2) В этом файле есть строка <a href="?id=X">LINK</a>
Как мне найти это значение X?

P.S. Все на PHP
244
18 августа 2006 года
UAS
2.0K / / 19.07.2006
 
Код:
$file='данные файла, которые считал';
$x="переменная, которая содержит X";
$x=preg_replace('#<a[[:space:]]href="\?id=(.*)">.*</a>#is',"\1",$file);
18K
18 августа 2006 года
lDaniil
8 / / 16.08.2006
<?PHP

$x = 'твоя переменная' ; //твоя переменная
$text = '__любой текст__<a href="?id=твоя переменная">LINK</a>__любой текст__' ;
$nach = StrPos ( $text , '<a href="?id=' ) + strlen ( '<a href="?id=' ) ;
$lenght = StrLen ( $x ) ; // считаем длинну твоей переменной ;
$value = SubStr ( $text , $nach , $lenght ) ;
Echo $value ;

?>
244
18 августа 2006 года
UAS
2.0K / / 19.07.2006
lDaniil, долговато и некрасиво... Ссори :(
15K
18 августа 2006 года
mda
18 / / 04.07.2006
[QUOTE=UAS]
 
Код:
$file='данные файла, которые считал';
$x="переменная, которая содержит X";
$x=preg_replace('#<a[[:space:]]href="\?id=(.*)">.*</a>#is',"\1",$file);
[/QUOTE]

Чет данный пример не работает : (


[QUOTE=lDaniil]<?PHP

$x = 'твоя переменная' ; //твоя переменная
$text = '__любой текст__<a href="?id=твоя переменная">LINK</a>__любой текст__' ;
$nach = StrPos ( $text , '<a href="?id=' ) + strlen ( '<a href="?id=' ) ;
$lenght = StrLen ( $x ) ; // считаем длинну твоей переменной ;
$value = SubStr ( $text , $nach , $lenght ) ;
Echo $value ;

?>[/QUOTE]

Дело в том что если я не знаю эту переменную или ее длину?!

Мне нужно сделать это все через регулярные выражения, но я не умею с ними работать =(
15K
20 августа 2006 года
mda
18 / / 04.07.2006
Ну помогите плис кто-ниудь!)))
244
20 августа 2006 года
UAS
2.0K / / 19.07.2006
Извиняюсь. Я понял где у меня ошибка. Исправляюсь. Этот должен точно пахать:

 
Код:
$file='данные файла, которые считал';
$x="переменная, которая содержит X";
$temp=array(); # вспомогательный файл для последующей функции
$x=preg_match('#<a(\s)href="\?id=(.*)">.*</a>#is',"\1",$file,$temp);
$x=$temp[2];


Вроде должен пахать, если не то, то поэкспереминтируй $x=$temp[2], т.е. поменяй индекс массива, но по идее это обязано заработать...
15K
20 августа 2006 года
mda
18 / / 04.07.2006
[QUOTE=UAS]Извиняюсь. Я понял где у меня ошибка. Исправляюсь. Этот должен точно пахать:

 
Код:
$file='данные файла, которые считал';
$x="переменная, которая содержит X";
$temp=array(); # вспомогательный файл для последующей функции
$x=preg_match('#<a(\s)href="\?id=(.*)">.*</a>#is',"\1",$file,$temp);
$x=$temp[2];


Вроде должен пахать, если не то, то поэкспереминтируй $x=$temp[2], т.е. поменяй индекс массива, но по идее это обязано заработать...[/QUOTE]
Warning: preg_match() expects parameter 4 to be long, array given in...
8
20 августа 2006 года
mfender
3.5K / / 15.06.2005
Весёлые вы, ребята. Прям конкурс, кто хуже напишет устроили :D
Тогда уж такое выражение пишите...:
 
Код:
$x = preg_match('/<a.*href=\x22{0,1}.*?\?id=(.*?)\x22{0,1}\s*>.*<\/a>?/is', $file ,$temp) ? $temp[1] : null;


И не забывайте, что preg_match найдёт первое вхождение (или не найдёт) - в первом случае $x будет иметь значение $temp[1], во втором - null. Для поиска в тексте всех участков, соответствующих регулярному выражению, нужно использовать preg_match_all() и регулярное выражение будет другим.
15K
25 октября 2006 года
mda
18 / / 04.07.2006
[QUOTE=mfender]Весёлые вы, ребята. Прям конкурс, кто хуже напишет устроили :D
Тогда уж такое выражение пишите...:
 
Код:
$x = preg_match('/<a.*href=\x22{0,1}.*?\?id=(.*?)\x22{0,1}\s*>.*<\/a>?/is', $file ,$temp) ? $temp[1] : null;


И не забывайте, что preg_match найдёт первое вхождение (или не найдёт) - в первом случае $x будет иметь значение $temp[1], во втором - null. Для поиска в тексте всех участков, соответствующих регулярному выражению, нужно использовать preg_match_all() и регулярное выражение будет другим.[/QUOTE]
ммм.....я тут столкнулся с такой проблемой, а если три параметра? напрмер имеется в строчке есть такое выражение:
function('text', X, Y, Z)

как выразить X, Y, Z?

Заранее благодарен!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог