|
|
|
| здравствуйте. Начал изучать регулярки, но что то не получается выбрать данные из текста.
<?php
$text = 'Какой-то текст...Какой-то текст... [url=хттп://адрессайта/article/55/view/]ссылка[/url] Какой-то текст...Какой-то текст...';
|
Как с помощью регулярки получить число 55? | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 10:56)
| | Во-первых, Вы ошиблись веткой форуму
Во-вторых,
<?php
$text = 'Какой-то текст...Какой-то текст... [url=хттп://адрессайта/article/55/view/]ссылка[/url] Какой-то текст...Какой-то текст...';
$pattern = "#(\d+)#";
preg_match($pattern, $text, $out);
echo "<pre>";
print_r($out);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(03.03.2013 в 11:51)
| | 1: Знаю что ошибся, случайно не тот форум выбрал.
2: А ваш вариант не будет ли выбирать все числа из текста? | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 11:56)
| | так Вы показывайте, где именно ещё есть числа?
Можно попробовать так
<?php
$pattern = "#\/(\d{2})\/#";
?>
|
будет выбирать именно две цифры между двумя слешами | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.03.2013 в 11:58)
| | мне нужно число именно из этого текста
[url=хттп://адрессайта/article/55/view/]ссылка[/url]
|
число может быть очень большое, а не только из 2-ух символов | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 12:02)
| | так надо сразу писать, подробно, а не растягивать на тысячу сообщений!!!
<?php
$pattern = "#\/(\d+)\/#";
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(03.03.2013 в 12:10)
| | как будто не понятно было что мне надо.
ваш вариант не подходит, но спасибо и на этом. | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 12:12)
| | Нет, не понятно!!!
Гадалки все в отпуске!
Если хотите получать нормальные ответы, то описывайте нормально свою проблему | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.03.2013 в 12:15)
| | Странный вы человек. Уже какое сообщение пытаюсь объяснить, что мне надо, а в ответ что нужно объяснять.
Неужели этот текст вам ничего не говорит?
[url=хттп://адрессайта/article/55/view/]ссылка[/url]
|
Я тут показываю, что нужно делать выборку именно из "[url=хттп://адрессайта/article/55/view/]ссылка[/url]", а не из "/55/" | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 10:56)
| | подождем адекватных и понимающих людей... | |
|
|
|
|
|
|
|
для: Berencev
(03.03.2013 в 13:08)
| | чтобы не ждать адекватных, надо адекватно вопрос задавать
это первое
второе, почему это Вы решили, что выражение не подходит?
возьмите последний вариант $pattern , подставьте в свою строку ещё несколько цифр в разных местах и проверьте
а вот когда проверите, вот тогда будете учиться адекватно задавать вопросы
<?php
// при такой строке
$text = 'Как11ой-то тек 77 ст...Как22й-то текст... 33[url=хттп://адрессайта/article/55/view/]ссылка[/url] Како44й-то текст...Как55ой-то текст...';
// и при последнем варианте $pattern
$pattern = "#\/(\d+)\/#";
// вернёт только 55
Array
(
[0] => Array
(
[0] => /55/
)
[1] => Array
(
[0] => 55
)
)
|
что ещё надо? | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.03.2013 в 17:38)
| | Всегда ведь знал "хочешь сделать хорошо, делай сам", вот и сейчас помогло свое решение.
Ваш вариант не сработает тут.
<?php
$text = 'Как11ой-то тек 77 ст...Как22й-то текст... 33[url=хттп://адрессайта/article/55/view/]ссылка[/url] Како44й-то текст...Как55ой-то текст...[url=хттп://адрессайта/text/12/]ссылка12[/url] Как22й-то текст... [url=хттп://адрессайта/blabla/777/blabla/]ссылка777[/url]...';
|
незнаю почему, но мне показалось вы сами новичек в регулярках...
P.S. вопрос закрыт | |
|
|
|