|
|
|
| Есть переменная $wolrd = Nova</TD>
Надо обрезать все что идет после знака "<" а так же и сам этот знак, что бы получилось
$world = Nova. | |
|
|
|
|
|
|
|
для: Бамси
(02.04.2006 в 06:38)
| | Вот так :
$word = " Текст ДЛя ОТОБРАЖЕНИЯ ! </TD> Далее <b> Идет Текст <a> и еще <a> Тесст ";
preg_match("#(.*)(<\/)(.*)#i", $word, $s);
echo $s[1];
|
| |
|
|
|
|
|
|
|
для: ZooM (ССС)
(02.04.2006 в 09:43)
| | А теперь нужно такоеже выражение только для цыфр.
Допусти чтоб очищял переменную "7<T" или "23<" от "<" и все что идет после него. | |
|
|
|
|
|
|
|
для: Бамси
(03.04.2006 в 05:33)
| | Для этого можно воспользоваться выражением
<?php
preg_match("#^([^<]+)<#i", $word, $s);
echo $s[1];
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(03.04.2006 в 14:07)
| | Почему переменная именно выводиться только так $s[1]
Что значут эти квадратные скобки? И обезательно ли их ставить? | |
|
|
|
|
|
|
|
для: Бамси
(03.04.2006 в 17:59)
| | $s - это массив $s[0] - соответствие всему регулярному выражению, $s[1] - соответствие фрагменту в первых кргулых скобках, $s[2] - соответствие фрагменту во вторых кргулых скобках и т.д. | |
|
|
|
|
|
|
|
для: Бамси
(03.04.2006 в 17:59)
| | Третий параметр в функции preg_match - это массив в который будут извлечены все совпадения с регулярным выражением (а точнее те части которые заключены в круглые скобки). Первый эл. массива (точнее нулевой) - это полностью вся строка независимо от скобок. Поэтому $s[1]. $s в данном случае массив (можете это проверить написав echo $s (выведет Array)), а $s[0], $s[1], $s[2], ... элементы массива. | |
|
|
|
|
|
|
|
для: Евгений Петров
(03.04.2006 в 23:06)
| | А если мне нужно потом использовать эту переменную, то мне так везде и писать $s[1]?
Или стоит этот масив преобразовать в переменную, с которой уже дальше и работать? | |
|
|
|
|
|
|
|
для: Бамси
(03.04.2006 в 23:20)
| | Зачем? пишите $s[1]. Лишние переменные - потеря в скорости выполнения. | |
|
|
|
|
|
|
|
для: Евгений Петров
(03.04.2006 в 23:52)
| | Не всегда. Лишние индексации (если их следует много - тоже потеря)
Да и с точки зрения эстетики упоминание переменной, а не массива смотрится привычней. А значит меньше шансов напутать.
if(preg_match("#^([^<]+)<#i", $word, $result))
$result = $result[1];
|
| |
|
|
|
|
|
|
|
для: Бамси
(03.04.2006 в 23:20)
| | >А если мне нужно потом использовать эту переменную, то мне
>так везде и писать $s[1]?
>Или стоит этот масив преобразовать в переменную, с которой
>уже дальше и работать?
Если вам будет это удобнее - безусловно. | |
|
|
|