<?php
$social = "facebook.com";
$str = "facebook.com: | bestniagaracom : iCs8EbZG | |";
$regexp = "#$social\s*:?\s*|\s*([-_a-zA-Z0-9]*(@([a-z]*\.?)+)?)\s*:\s*([a-zA-Z0-9]*)(\s*|)+#";
preg_match($regexp, $str, $matches);
echo "<pre>";print_r($matches);echo "</pre>";
?>
и на выходе он мне выдает
Array
(
[0] => facebook.com:
)
В чем может быть проблема? Откуда он берет этот нулевой элемент?
Спустя 13 минут, 6 секунд (17.07.2012 - 14:43) vagrand написал(а):
Что значит откуда? Из регулярки вестимо. Вопрос в другом, а каков должен быть результат?
Спустя 6 минут, 22 секунды (17.07.2012 - 14:49) nikolasline написал(а):
Все верно, так работает функция. Результат всегда будет в:
$matches['0']
Спустя 20 минут, 20 секунд (17.07.2012 - 15:09) xUnicornx написал(а):
ну я то понимаю что из регулярки. По ТЗ результат должен быть таков:
$matches[0] = "bestniagaracom iCs8EbZG";
$matches[1] = "bestniagaracom";
$matches[2] = "iCs8EbZG";
Я не пойму почему facebook.com попал в результат, ведь я его не выделял скобками.
$matches[0] = "bestniagaracom iCs8EbZG";
$matches[1] = "bestniagaracom";
$matches[2] = "iCs8EbZG";
Я не пойму почему facebook.com попал в результат, ведь я его не выделял скобками.
Спустя 1 час, 57 минут, 23 секунды (17.07.2012 - 17:07) xUnicornx написал(а):
все, разобрался. Всем спс
Спустя 5 дней, 17 часов, 32 минуты, 21 секунда (23.07.2012 - 10:39) xUnicornx написал(а):
Все же не разобрался. Давайте еще раз. У меня есь скрипт.
И мне нужно, что б на выходе он выдавал:
$social = "yahoo.com";
$str = "yahoo.com: | bestniagaracom@yahoo.com: 12345 | answ1: Erikson | answ2: Mackay";
//$regexp = "#$social\s*:?\s*\|\s*([-_a-zA-Z0-9]*(?:@(?:[a-z]*\.?)+)?)\s*:\s*([a-zA-Z0-9]*)(?:\s*\|\s*([a-zA-Z0-9]*)\s*:\s*([a-zA-Z0-9]*)){2}#";
$regexp = "#$social\s*:?(?:\s*\|\s*([-_a-zA-Z0-9]*(?:@(?:[a-z]*\.?)+)?)\s*:\s*([a-zA-Z0-9]*))+#";
preg_match($regexp, $str, $matches);
echo "<pre>";print_r($matches);echo "</pre>";
И мне нужно, что б на выходе он выдавал:
Цитата |
Array ( [0] => yahoo.com: | bestniagaracom@yahoo.com: 12345 | answ1: Erikson | answ2: Mackay [1] => bestniagaracom@yahoo.com [2] => 12345 [3] => answ1 [4] => Erikson [5] => answ2 [6] => Mackay ) |
А он мне выдает:
Цитата |
Array ( [0] => yahoo.com: | bestniagaracom@yahoo.com: 12345 | answ1: Erikson | answ2: Mackay [1] => answ2 [2] => Mackay ) |
Как такое сделать?