Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > проблема с шаблоном строки


Автор: buddy 9.4.2003, 19:16
есть такая примерно строка

http://google.com/search?gol=2&text=футбольный мяч&var=val

помогите составить для этой строки шаблон для ф-ии preg_match для выдирания из строки значения переменной text.

P.S Я делаю так $result=preg_match('/(text=)([\w]+)/i',$rp,$matches);
но слово мяч пропадает

Автор: arial 9.4.2003, 20:49
Необходимо отметить, что пробел в URL отображается как %20

<?
$rp="http://google.com/search?gol=2&text=футбольный%20мяч&var=val";
$rp=rawurldecode($rp);//Преобразуем %20 в пробел
$result=preg_match('/(text=)([\w ]+)/i',$rp,$matches);
/*
Внимание!
В шаблон необходимо добавить пробел, т.к. \w - любой алфавитно-цифровой символ
*/
for ($i=0; $i<count($matches); $i++) {
echo$matches[$i];
?><br><?
}
?>

cool.gif

Автор: BlackWolf 9.4.2003, 23:39
Ты можешь искать все до символа "&"
т.е. "/(text=)([^\&]+)/i"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)