|
автор: Юный Хакер (29.08.2005 в 17:48) |
|
| 1. Собственно задача из строки типа:
/name/ bla-bla-bla
нужно ывытащить то, что находится внутри слэшей(//)
2. /ban name number
нужно вытащить name и number
P.S. 2cheops, все таки Вам нужно написать спарвочник по составлению регудярных выражений:)) | |
|
|
|
|
|
|
|
для: Юный Хакер
(29.08.2005 в 17:48)
| |
<?
$str = "/name/ bla-bla-bla";
eregi(".*\/{1}(.*)\/{1}",$str,$regs);
echo $regs[1]."<br>";
$str = "/ban name number";
eregi("\/ban {1}(.*)",$str,$regs);
print_r(explode(" ",$regs[1]))."<br>";
?>
|
| |
|
|
|
|
автор: Юный Хакер (29.08.2005 в 18:16) |
|
|
для: Евгений Петров
(29.08.2005 в 17:58)
| | Спасибо;)
Ща буду разбираться=) | |
|
|
|
|
|
|
|
для: Евгений Петров
(29.08.2005 в 17:58)
| | вопрос в тему:
что это значит {1} ?
а если у меня не одно совпадение, как вывести 2-й, 3-й и т.д. совпадения? | |
|
|
|
|
|
|
|
для: napTu3aH
(30.08.2005 в 13:46)
| | {1} - это число повторений конструкции перед фигурными скобками в данном случае 1 раз, {2,4} - от двух до четырёх раз. Число повторений выводится при помощи массивов - какая у вас задача.
PS Новые вопросы лучше помещать в новые темы. | |
|
|
|
|
|
|
|
для: cheops
(30.08.2005 в 14:04)
| |
$str = "/name/ bla-bla-bla /какой-то там текст/ <br>bla-bla и тд.";
eregi(".*\/{1}(.*)\/{1}",$str,$regs);
echo $regs[1]."<br>";
|
чтобы выводило и "name" и "какой-то там текст"
пробовал писать
echo $regs[2].
выводит ошибку что переменной не существует | |
|
|
|
|
|
|
|
для: napTu3aH
(30.08.2005 в 14:47)
| | Я обычно поступаю следующим образом
<?php
$str = "/name/ bla-bla-bla /какой-то там текст/ <br>bla-bla и тд.";
preg_match_all("#/([^/]+)/#",$str,$regs);
foreach($regs[1] as $value)
{
echo $value."<br>";
}
?>
|
Вы также сможете найти многочисленные примеры по работе с регулярными выражениями в данном разделе. | |
|
|
|
|
|
|
|
для: cheops
(30.08.2005 в 15:41)
| | спасибо здесь все понятно данные заносяться в двумерный массив.
а куда заносились те же значение в первом случае с "eregi" ?
ЗЫ массив оказался 3-х мерным :) | |
|
|
|